Класс CSourceStream
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Класс CSourceStream предоставляет выходной контакт для класса фильтра CSource .
Сведения об использовании этого класса см. в разделе CSource. Этот класс наследует класс CAMThread , который предоставляет рабочий поток для потоковой передачи данных из закрепления. Класс CSourceStream реализует следующие вспомогательные методы для отправки запросов в поток:
- CSourceStream::Exit
- CSourceStream::Init
- CSourceStream::P ause
- CSourceStream::Run
- CSourceStream::Stop
Первым запросом к потоку должен быть 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 | Извлекает идентификатор для закрепления. |
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|