Метод COutputQueue.ThreadProc

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

Метод ThreadProc извлекает примеры из очереди и доставляет их во входной контакт.

Синтаксис

DWORD ThreadProc();

Параметры

Этот метод не имеет параметров.

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

Возвращает ноль.

Комментарии

Метод COutputQueue::InitialThreadProc вызывает этот метод, который реализует цикл потока main. В цикле метод выполняет следующие действия:

  1. Извлекает пример для очереди.
  2. Если пример является сообщением элемента управления, поток выполняет действие элемента управления. В противном случае пример помещает в массив COutputQueue::m_ppSamples .
  3. Если массив заполнен (или если COutputQueue::m_bBatchExact имеет значение FALSE), поток вызывает метод IMemInputPin::ReceiveMultiple для доставки примеров.
  4. Если примеры не помещаются в очередь, поток ожидает Семафор COutputQueue::m_hSem .

Поток завершается, когда переменная-член COutputQueue::m_bTerminate становится true.

Требования

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

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

Класс COutputQueue