Метод CBaseRenderer.PrepareReceive
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод PrepareReceive
подготавливает фильтр для отрисовки примера.
Синтаксис
virtual HRESULT PrepareReceive(
IMediaSample *pMediaSample
);
Параметры
-
pMediaSample
-
Указатель на интерфейс IMediaSample примера.
Возвращаемое значение
Возвращает значение HRESULT . Возможные значения включают значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Успешно. |
|
сбой. |
|
Непредвиденная ошибка. |
|
Фильтр отбрасывания этого примера. |
Комментарии
Фильтр вызывает этот метод из метода CBaseRenderer::Receive перед отрисовкой примера. Если фильтр выполняется, этот метод планирует отрисовку примера.
Если фильтр уже содержит ожидающий выборку или если конец потока уже достигнут, метод возвращает E_UNEXPECTED. Возможно, фильтр вышестоящий не сериализует вызовы потоковой передачи правильно.
Если алгоритм планирования определяет, что образец должен быть удален (см. раздел CBaseRenderer::ScheduleSample), метод возвращает VFW_E_SAMPLE_REJECTED. Однако метод IMemInputPin::Receive входного пина не передает этот код ошибки в фильтр вышестоящий, так как удаление примера не является ошибкой.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|