CSourceStream 类

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

csourcestream 类层次结构

CSourceStream 类为 CSource 筛选器类提供输出引脚。

有关使用此类的信息,请参阅 CSource。 此类继承 CAMThread 类,该类提供工作线程用于从引脚流式处理数据。 CSourceStream 类实现以下帮助程序方法,以将请求发送到线程:

对线程的第一个请求必须是 Init退出请求终止线程。 实际上,不需要直接调用任何这些方法,因为引脚的 CSourceStream::ActiveCSourceStream::Inactive 方法会根据需要调用它们。

类还提供了几个“handler”方法:

它们在基类中不执行任何操作,但派生类可以重写它们。

受保护的成员变量 说明
m_pFilter 指向包含此引脚的筛选器的指针。
受保护的方法 说明
OnThreadCreate 初始化流式处理线程时调用。 虚拟。
OnThreadDestroy 当流式处理线程即将退出时调用。 虚拟。
OnThreadStartPlay CSourceStream::D oBufferProcessingLoop 方法的开头调用。 虚拟。
活动 通知引脚筛选器现在处于活动状态。
非活动 通知引脚筛选器不再处于活动状态。
GetRequest 等待下一个线程请求。
CheckRequest 检查是否存在线程请求,而不会阻止。
ThreadProc 线程过程。 虚拟。
DoBufferProcessingLoop 生成媒体数据并将其传送到下游输入引脚。 虚拟。
CheckMediaType 确定引脚是否接受特定媒体类型。 虚拟。
GetMediaType 检索首选媒体类型。 虚拟。
公共方法 说明
CSourceStream 构造函数方法。
~ CSourceStream 析构函数方法。 虚拟。
Init 初始化流式处理线程。
退出 指示流式处理线程退出。
运行 指示流式处理线程要运行。
暂停 指示流式处理线程变为活动状态。
停止 指示流式处理线程停止。
纯虚拟方法 说明
FillBuffer 使用数据填充媒体示例。
IPin 方法 说明
QueryId 检索引脚的标识符。

要求

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

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

另请参阅

编写源筛选器