directshow firstpart 2011.06.27

做render filter的时候,用sample里面的一个dump例子,但是不调用读文件的

对话框,

if (riid == IID_IFileSinkFilter) {

// return GetInterface((IFileSinkFilter *) this, ppv);

 

IFileSinkFilter 这个类是用来调用打开文件对话框的,把这行注释掉,就可以了

 

 

 

 

 

 

 

 

 

推数据模式和拉数据模式:推数据模式是指源过滤器通过自己的线程获得流数据

 

,然后将数据递交到下一个过滤器,而下一个过滤器处理完数据后又将数据递交

 

到它的下一个过滤器。这要求在整个过滤器图中所有的过滤器都支持推数据模式

 

,数据流才能顺利的流动。  而拉数据模式是指源过滤器的下一个过滤器是一个

 

获取流过滤器,就是说它是整个数据流动的发起者,它要求源过滤器将数据流给

 

它,然后它处理后再递交到下一层,后面的过滤器也是和推数据模式的一样用推

 

数据的方式工作。

其实两种工作模式的区别在于和源过滤器相连的那个过滤器能够支持什么方式。

 

一般来说,对于实时的数据流采用推数据的方式更好,但是在试验中,由于采用

 

的是MPEG-1数据流,而标准的MPEG-1分解过滤器又不支持推数据模式,所以试验

 

采用了拉数据的工作方式,这也就是说MPEG-1分解过滤器实际上是整个数据流的

 

发起者,他在需要数据的时候会调用源过滤器中的Read方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值