CSourceStream 类
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
CSourceStream 类为 CSource 筛选器类提供输出引脚。
有关使用此类的信息,请参阅 CSource。 此类继承 CAMThread 类,该类提供工作线程用于从引脚流式处理数据。 CSourceStream 类实现以下帮助程序方法,以将请求发送到线程:
- CSourceStream::Exit
- CSourceStream::Init
- CSourceStream::P ause
- CSourceStream::Run
- CSourceStream::Stop
对线程的第一个请求必须是 Init。 退出请求终止线程。 实际上,不需要直接调用任何这些方法,因为引脚的 CSourceStream::Active 和 CSourceStream::Inactive 方法会根据需要调用它们。
类还提供了几个“handler”方法:
它们在基类中不执行任何操作,但派生类可以重写它们。
受保护的成员变量 | 说明 |
---|---|
m_pFilter | 指向包含此引脚的筛选器的指针。 |
受保护的方法 | 说明 |
OnThreadCreate | 初始化流式处理线程时调用。 虚拟。 |
OnThreadDestroy | 当流式处理线程即将退出时调用。 虚拟。 |
OnThreadStartPlay | 在 CSourceStream::D oBufferProcessingLoop 方法的开头调用。 虚拟。 |
活动 | 通知引脚筛选器现在处于活动状态。 |
非活动 | 通知引脚筛选器不再处于活动状态。 |
GetRequest | 等待下一个线程请求。 |
CheckRequest | 检查是否存在线程请求,而不会阻止。 |
ThreadProc | 线程过程。 虚拟。 |
DoBufferProcessingLoop | 生成媒体数据并将其传送到下游输入引脚。 虚拟。 |
CheckMediaType | 确定引脚是否接受特定媒体类型。 虚拟。 |
GetMediaType | 检索首选媒体类型。 虚拟。 |
公共方法 | 说明 |
CSourceStream | 构造函数方法。 |
~ CSourceStream | 析构函数方法。 虚拟。 |
Init | 初始化流式处理线程。 |
退出 | 指示流式处理线程退出。 |
运行 | 指示流式处理线程要运行。 |
暂停 | 指示流式处理线程变为活动状态。 |
停止 | 指示流式处理线程停止。 |
纯虚拟方法 | 说明 |
FillBuffer | 使用数据填充媒体示例。 |
IPin 方法 | 说明 |
QueryId | 检索引脚的标识符。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|