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


Конструктор COutputQueue.COutputQueue

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

Метод конструктора.

Синтаксис

COutputQueue(
   IPin    *pInputPin,
   HRESULT *phr,
   BOOL    bAuto = TRUE,
   BOOL    bQueue = TRUE,
   LONG    lBatchSize = 1,
   BOOL    bBatchExact = FALSE,
   LONG    lListSize = DEFAULTCACHE,
   DWORD   dwPriority = THREAD_PRIORITY_NORMAL
);

Параметры

pInputPin

Указатель на интерфейс IPin входного контакта. Объект доставляет образцы в этот контакт.

Phr

Указатель на код возврата HRESULT . Перед вызовом этого метода задайте значение S_OK. При возврате phr получает значение, указывающее на успешное или неудачное выполнение метода.

bAuto

Флаг, указывающий, принимает ли объект решение о создании очереди. Если задано значение TRUE, объект создает очередь только в том случае, если входной контакт может блокироваться. Если значение FALSE, параметр bQueue указывает, следует ли создавать очередь.

bQueue

Если параметр bAuto имеет значение TRUE, этот параметр игнорируется. Если параметр bAuto имеет значение FALSE, этот флаг указывает, следует ли создавать очередь.

lBatchSize

Максимальное количество образцов для доставки в одном пакете.

bBatchExact

Флаг, указывающий, следует ли использовать точные размеры пакетов. Если задано значение TRUE, объект ожидает выборки lBatchSize перед их доставкой во входной контакт. Если значение FALSE, объект доставляет образцы по мере их получения.

lListSize

Размер кэша для очереди. Значение по умолчанию DEFAULTCACHE является константой, определенной для класса CBaseList .

dwPriority

Приоритет потока, доставляющего образцы.

Комментарии

Если bAuto имеет значение TRUE, объект вызывает метод IMemInputPin::ReceiveCanBlock для подчиненного закрепления. Если ReceiveCanBlock возвращает S_OK (это означает, что закрепление может блокироваться при вызовах IMemInputPin::Receive ), объект создает поток для доставки примеров. В противном случае поток не создается.

Если параметр bAuto имеет значение FALSE, значение bQueue определяет, следует ли создавать поток.

Если объект создает поток, он назначает дескриптор потока переменной-члену COutputQueue::m_hThread . Процедура потока — COutputQueue::InitialThreadProc, а параметр потока является указателем на это. Объект также создает очередь для хранения примеров, которая предоставляется переменной-членом COutputQueue::m_List .

Требования

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

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

Класс COutputQueue