Метод IMFSampleGrabberSinkCallback::OnProcessSample (mfidl.h)
Вызывается, когда приемник sample-grabber получает новый образец носителя.
Синтаксис
HRESULT OnProcessSample(
[in] REFGUID guidMajorMediaType,
[in] DWORD dwSampleFlags,
[in] LONGLONG llSampleTime,
[in] LONGLONG llSampleDuration,
[in] const BYTE *pSampleBuffer,
[in] DWORD dwSampleSize
);
Параметры
[in] guidMajorMediaType
Основной тип, задающий формат данных. Список возможных значений см. в разделе Основные типы мультимедиа.
[in] dwSampleFlags
Зарезервировано.
[in] llSampleTime
Время презентации для этого примера в 100 наносекундных единицах. Если у примера нет времени представления, значение этого параметра будет _I64_MAX.
[in] llSampleDuration
Длительность выборки в 100-наносекундных единицах. Если у примера нет длительности, значение этого параметра будет _I64_MAX.
[in] pSampleBuffer
Указатель на буфер, содержащий образцы данных.
[in] dwSampleSize
Размер буфера pSampleBuffer в байтах.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Если вы используете приемник sample-grabber в топологии воспроизведения, этот метод должен возвращать быстро, иначе он может помешать воспроизведению. Не блокируйте поток, не подождите событий и не выполняйте другие длительные операции внутри этого метода.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Mfuuid.lib |