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


Метод CSourceStream.FillBuffer

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод FillBuffer заполняет образец носителя данными.

Синтаксис

virtual HRESULT FillBuffer(
   IMediaSample *pSample
) = 0;

Параметры

pSample

Указатель на интерфейс IMediaSample примера.

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения включают значения, приведенные в следующей таблице.

Код возврата Описание
S_FALSE
Конец потока
S_OK
Успешное завершение

Комментарии

Производный класс должен реализовывать этот метод.

Образец носителя, предоставленный этому методу, не имеет меток времени. Производный класс должен вызывать метод IMediaSample::SetTime для установки меток времени. Если это применимо для типа мультимедиа, производный класс также должен задать время мультимедиа, вызвав метод IMediaSample::SetMediaTime . Дополнительные сведения см. в разделе Время и часы в DirectShow.

Возврат S_FALSE в конце потока. Это приводит к тому, что класс CSourceStream отправляет уведомление об окончании потока и останавливает цикл обработки буфера. Дополнительные сведения см. в разделе CSourceStream::D oBufferProcessingLoop .

Требования

Требование Значение
Заголовок
Source.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Класс CSourceStream