COutputQueue.COutputQueue 构造函数
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 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 成员变量提供。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|