Поделиться через


Метод 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

См. также раздел

IMFSampleGrabberSinkCallback