Пример фильтра Grabber
Примечание
[Не рекомендуется. Этот API можно удалить из будущих выпусков Windows.]
Фильтр Sample Grabber позволяет получить образцы по мере их передачи через граф фильтров. Это фильтр преобразования с одним входным контактом и одним выходным контактом. Он передает все примеры вниз по течению без изменений, поэтому его можно вставить в граф фильтра, не изменяя поток данных. Затем приложение может получить отдельные примеры из фильтра, вызвав методы в интерфейсе ISampleGrabber .
Если вы хотите получить образцы без отрисовки данных, подключите фильтр Sample Grabber к фильтру отрисовщика NULL .
Метка | Значение |
---|---|
Фильтры интерфейсов | IBaseFilter, ISampleGrabber |
Типы носителей входных контактов | Любой тип носителя. |
Интерфейсы закрепления ввода | IMemInputPin, IPin, IQualityControl |
Выходные типы носителей контактов | Любой тип носителя. Соответствует типу входного носителя. |
Интерфейсы закрепления выходных данных | IMediaPosition, IMediaSeeking, IPin, IQualityControl |
Фильтрация CLSID | CLSID_SampleGrabber |
CLSID страницы свойств | Страница свойств отсутствует. |
Исполняемый объект | Qedit.dll |
Заслуга | MERIT_DO_NOT_USE |
Категория фильтра | CLSID_LegacyAmFilterCategory |
Remarks
Чтобы использовать этот фильтр, добавьте его в граф фильтров и вызовите ISampleGrabber::SetMediaType с нужным типом мультимедиа. Этот метод задает тип носителя для входных и выходных подключений фильтра. Затем подключите фильтр к другим фильтрам в графе.
При вызове ISampleGrabber::SetBufferSamples со значением TRUE фильтр помещает в буфер каждый образец, который он получает перед передачей ниже. Вызовите метод ISampleGrabber::GetCurrentBuffer , чтобы получить текущее содержимое буфера. Кроме того, можно вызвать ISampleGrabber::SetCallback , чтобы фильтр вызывал функцию обратного вызова при получении примера.
Фильтр имеет следующие ограничения для форматов видео:
- Он не поддерживает типы видео с ориентацией сверху вниз (отрицательная двунаправленная ориентация).
- Она не поддерживает структуру формата VIDEOINFOHEADER2 (тип формата, равный FORMAT_VideoInfo2).
- Он отклоняет любой тип видео, в котором шаг поверхности не соответствует ширине видео.
В результате пример Grabber не будет подключаться к отрисовщику видео (VMR) для некоторых типов видео.
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел