diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/plugins/multimedia/directshow/player/directshowioreader.cpp --- a/qtmobility/plugins/multimedia/directshow/player/directshowioreader.cpp Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/plugins/multimedia/directshow/player/directshowioreader.cpp Mon May 03 13:18:40 2010 +0300 @@ -140,7 +140,7 @@ return S_OK; } else { - *ppActual = com_new(CLSID_MemoryAllocator); + *ppActual = com_new(CLSID_MemoryAllocator, IID_IMemAllocator); if (*ppActual) { if ((*ppActual)->SetProperties(pProps, &actualProperties) != S_OK) { @@ -176,7 +176,7 @@ return VFW_E_SAMPLE_TIME_NOT_SET; } else { LONGLONG position = startTime / 10000000; - LONG length = ((endTime - startTime) / 10000000) + 1; + LONG length = (endTime - startTime) / 10000000; DirectShowSampleRequest *request = new DirectShowSampleRequest( pSample, dwUser, position, length, buffer); @@ -248,7 +248,7 @@ return VFW_E_SAMPLE_TIME_NOT_SET; } else { LONGLONG position = startTime / 10000000; - LONG length = ((endTime - startTime) / 10000000) + 1; + LONG length = (endTime - startTime) / 10000000; QMutexLocker locker(&m_mutex);