CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

DirectShow写拉模式Source Filter的问题,有经验的来谈谈,up也给分

楼主rageliu(天气好了就去长白山看水怪去了,嘿嘿...)2006-03-03 12:05:36 在 VC/MFC / 基础类 提问

我自己写了拉模式的源filter,播放mpeg1,2等没有问题,但是wmv和rmvb格式就出了问题。  
  大概思路如下:  
  1.   new出source   filter的实例加入Graph             //都没问题  
  2.   Load()都没问题  
  3.   取得自己写的filter的输出pin后调用它的Render()方法     //这里有问题!!!!!  
   
  在3处的问题描述:  
      mpeg1和2在这是正常运行的,而wmv和rmvb格式时Render()方法错误,提示E_POINTER,无效的指针。而我取指针是没有问题的。我想知道是什么导至的这个问题。是source   filter里面媒体格式的问题??还是pull或push等模式的问题??  
   
  遇到过的讲讲,谢谢  
   
   
  问题点数:120、回复次数:17Top

1 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-03 16:47:50 得分 0

顶。没有朋友有过类似的经历吗?Top

2 楼king820802(卜呈)回复于 2006-03-03 17:40:46 得分 15

要拉模式的,条件太苛刻了。呵呵,没有碰到过。  
  建议把问题发到“专题开发”去Top

3 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-03 18:20:07 得分 0

我是这样指定的媒体类型  
   
  cmt.SetType(&MEDIATYPE_Video);  
  cmt.SetSubtype(&MEDIASUBTYPE_NULL);  
   
  混专题的很多后混vc,嘿嘿!!顶!!!!!Top

4 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-03 18:20:54 得分 0

上面打多了一个cmt.SetType(&MEDIATYPE_Stream);!!!不是MEDIATYPE_VideoTop

5 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-03 21:31:23 得分 0

mpeg1和2在这是正常运行的是通过splitter来做推模式  
   
  wmv和rmvb格式时Render()方法错误   可能是需要MediaType的扩展字段,所以E_POINTERTop

6 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-03 22:03:15 得分 0

首先谢谢楼上回复!  
   
  2中情况应该都是要spliter来分离Audio和Video  
   
  我将可能的类型都试过了,嘿嘿,未果!再有就是我改变了某些类型的时候,原来可以的mpeg1和2也会出现E_POINTER的错误!觉得原因就在这了,还在思考...Top

7 楼Togecy2006()回复于 2006-03-04 10:25:42 得分 15

我最近也在学习DirectShow开发指南里的那个   MPEG流的   网络客户端播放   也是要拉模式的SourceFilter      
   
  他好象是继承自CAsyncReader      
   
  在Async\下Top

8 楼vcmute(BCare4 H1Rest Good9!)回复于 2006-03-04 11:34:51 得分 50

rmvb用的是realmediasplitter?  
  源代码在sourceforge可以下载的,  
  你可以下载下来编译(vc7)试试看Top

9 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-04 22:22:46 得分 0

to   Togecy2006()   (   )   信誉:100    
        谢谢回答,拉模式在sdk的在Async\下有例子,其基类也有.是pull模式的好参考,不过这里问题应该不是这种模式的filter怎么写  
   
  to   vcmute(横秋)   (   )   信誉:213    
      谢谢回答   我去下了编译试试,实在不行我就写个push模式的  
   
   
  顶!!!!怎么回答的人这么少???Top

10 楼Hurbox(斩月)回复于 2006-03-04 22:35:38 得分 10

upTop

11 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-06 09:35:40 得分 0

顶起来   ,别沉了Top

12 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-07 15:41:02 得分 0

up   up   up!!!!Top

13 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-08 13:09:33 得分 0

为什么   没人来回答?郁闷Top

14 楼qazokm(qazokm)回复于 2006-03-08 13:15:09 得分 10

upTop

15 楼nkwesley(江南丝竹)回复于 2006-03-08 14:02:21 得分 10

讨论Top

16 楼ydfivy(我就是一送外卖的)回复于 2006-03-08 14:05:00 得分 10

哈哈.哈哈.UP也有分啊.哈哈哈哈哈.  
  Top

17 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-08 16:04:43 得分 0

vcmute(横秋)   (   )   信誉:213     2006-03-04   11:34:00     得分:   0      
     
     
        rmvb用的是realmediasplitter?  
  源代码在sourceforge可以下载的,  
  你可以下载下来编译(vc7)试试看  
       
     
  So   Sorry   呵呵!!是我记错了!用GraphEdit又看了看,wmv格式的是push模式的,不是source   filter后接splitter的拉模式,而是直接出Audio和Video  
   
  vcmute(横秋)   (   )   信誉:213     2006-03-04   11:34:00     得分:   0                                                         正解Top

相关问题

  • 关于DirectShow中Source Filter的问题
  • DirectShow Overlay Mixer Filter
  • 随便谈谈
  • 谈谈工资
  • 谈谈VC
  • 谈谈心请
  • 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,给点思路也好。
  • 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,请cvav() 来拿分。
  • 关于自己写DirectShow Source Filter然后连接的问题,请高手看看,给点思路也好。
  • DirectShow中Filter的属性

关键词

  • 模式
  • 信誉
  • 下载
  • mpeg
  • source
  • vc
  • rmvb
  • mediatype
  • 问题
  • 格式

得分解答快速导航

  • 帖主:rageliu
  • king820802
  • Togecy2006
  • vcmute
  • Hurbox
  • qazokm
  • nkwesley
  • ydfivy

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo