Generating New Samples
生成新的采样
网址:http://msdn.microsoft.com/en-us/library/ms899448.aspx
这部分描述源过滤器如何生成新的采样
推模式
在推模式,源过滤器启动过程,步骤如下:
在这个时候,下游的过滤器也许保留采样的计数,所以源过滤器不能简单的重复使用采样。为传递下一个采样,它必须下步骤1一样再次调用IMemAlloctor::GetBuffer。
注意:为传递多个采样,在步骤3源过滤器可以调用IMemInputPin::ReceiveMultiple。
拉模式
在拉模式,解析过滤器向源过滤器请求数据。解析过滤器使用源过滤器输出引脚上的IAsyncReader接口,步骤如下:
1. 解析过滤器调用IMemAllocator::GetBuffer获取一个空的媒体采样。
2. 它调用IAsyncReader::Request方法向源过滤器请求数据。
3. 源数据在获取数据的过程中,解析器调用IAsyncReader::WaitForNext。直到步骤2的请求完成。
4. 解析过滤器处理数据(可能调用自己输入引脚的IMemInputPin::Receive方法)并传递到下游。
步骤2和3执行异步读操作。解析器可以通过使用IAsyncReader::SyncRead或者IAsyncReader::SyncReadAligned方法,请求一个同步读操作。
分享到:
相关推荐
基于directshow的视频捕获.pdf,视频捕获,过滤器
视频捕获源程序,详细介绍了SDK中的一个好列子,可以慢慢研究以方便些directSHow视频捕捉程序
利用VC++实现基于DirectShow的视频捕获.pdf
基于DirectShow的视频捕获
基于DirectShow视频及图片捕获软件的开发 有详细的说明文档及源代码,对于刚用Directshow有很好的帮助,文档中有详细的开发过程以及注释。
一个简单的基于DirectShow的视频捕获程序
利用DirectShow开发视频捕获的一个小例子
学习directshow 开发的好例子,大家不容错过!!测试例子绝对可以跑!!!
采用C 的DirectShow技术编写的视频捕获源码示例,测试电脑没有摄像头,可能程序还有些小错误,不过对于了解视频捕获原理及编写方法应该有帮助,有这方面需要的朋友可以下载参考一下。
一个 F# + DirectShow.NET 开发的捕获摄像头视频的简单程序。
基于DirectShow实现的VC 视频捕获程序,注意请准备好DirectShow的相关文件,比如dshow.h等文件
本程序是基于DirectShow的视频采集可以实现预览,程序简单易懂,且操作方便,是初学者的较好范例。
VC通过DirectShow进行视频预览和捕获
通过directshow实现对摄像头画面的捕捉,以及对系统声音的捕捉,可以实时得到数据流
Delphi 源码,用DirectShow 的方式,进行视频输入设备枚举、视频支持格式枚举、视频预览、视频录像。
安装DeckLink视频采集卡,使用DirectShow视频采集流程
通过DirectShow进行视频预览和捕获
C# directShow 视频加水印,需要的可以下载学习。
基于DirectShow的视频对讲程序,可以实时进行视频聊天或监控
基于DirectShow视频与图片捕获软件的开发.doc