COutputQueue.QueueSample 方法

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 QueueSample 将示例排队。

语法

void QueueSample(
   IMediaSample *pSample
);

参数

pSample

指向示例 IMediaSample 接口的指针。

返回值

此方法不返回值。

备注

此方法将示例添加到队列的尾部。 在调用此方法之前保留关键部分,并且仅在对象使用线程传递示例时调用它。 若要确定对象是否正在使用线程,请调用 COutputQueue::IsQueued 方法。

此方法还可用于将控制消息置于队列中。 控件消息是一个定义的常量, (强制转换为指示线程执行某些操作的LONG_PTR类型) 。 COutputQueue 类定义下表中显示的控件消息。

Label
消息 操作
EOS_PACKET 传递流结束通知。
NEW_SEGMENT 交付新段。
RESET_PACKET 重置队列的状态。
SEND_PACKET 发送部分样本批。

这是 COutputQueue 类在内部使用的受保护方法。

要求

要求
标头
Outputq.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

COutputQueue 类