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


Класс CSourceStream

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

иерархия классов csourcestream

Класс CSourceStream предоставляет выходной контакт для класса фильтра CSource .

Сведения об использовании этого класса см. в разделе CSource. Этот класс наследует класс CAMThread , который предоставляет рабочий поток для потоковой передачи данных из закрепления. Класс CSourceStream реализует следующие вспомогательные методы для отправки запросов в поток:

Первым запросом к потоку должен быть Init. Запрос выхода завершает поток. На практике нет необходимости вызывать какие-либо из этих методов напрямую, так как методы CSourceStream::Active и CSourceStream::Inactive вызывают их по мере необходимости.

Класс также предоставляет несколько методов обработчика:

Они ничего не делают в базовом классе, но производный класс может их переопределить.

Защищенные переменные-члены Описание
m_pFilter Указатель на фильтр, содержащий этот контакт.
Защищенные методы Описание
OnThreadCreate Вызывается при инициализации потокового потока. Виртуальной.
OnThreadDe детализация Вызывается при выходе потока потоковой передачи. Виртуальной.
OnThreadStartPlay Вызывается в начале метода CSourceStream::D oBufferProcessingLoop . Виртуальной.
Активен Уведомляет закрепление о том, что фильтр теперь активен.
Неактивно Уведомляет контакт о том, что фильтр больше не активен.
GetRequest Ожидает следующего запроса потока.
CheckRequest Проверяет наличие запроса потока без блокировки.
ThreadProc Процедура потока. Виртуальной.
DoBufferProcessingLoop Создает данные мультимедиа и доставляет их в нижестоящий входной контакт. Виртуальной.
CheckMediaType Определяет, принимает ли закрепление определенный тип мультимедиа. Виртуальной.
GetMediaType Извлекает предпочтительный тип мультимедиа. Виртуальной.
Открытые методы Описание
CSourceStream Метод конструктора.
~ CSourceStream Метод деструктора. Виртуальной.
Init Инициализирует поток потоковой передачи.
Выход Сигнализирует потоку потоковой передачи о выходе.
Выполнить Сообщает потоку потоковой передачи о запуске.
Пауза Сигнализирует потоку потоковой передачи о том, что он становится активным.
Остановить Указывает потоку потоковой передачи на остановку.
Чистые виртуальные методы Описание
FillBuffer Заполняет образец носителя данными.
Методы IPin Описание
QueryId Извлекает идентификатор для закрепления.

Требования

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

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

Написание исходных фильтров