我要在windows平台上写流媒体的程序,但我不想用directshow,因为我很不喜欢COM接口,很无聊的,其实就是学了C++的模式,微软偏要自己搞一套,结构一点都不好理解,强加给程序员,标准C/C++的接口多好,请问各位大侠知不知道有没有基于C/C++的解决办法,帮个忙推荐一下,100分奉送。SourceForge现在不能访问了,很惨。不知道那里有没有什么现成项目。

解决方案 »

  1.   

    确实复杂,不过等你学明白了DirectShow,就不会这么认为了。
    DirectShow不是强加给程序员的,而是一种通用标准,复杂的结构和大量的过程管理,都是为了保证通用性和高代码复用率。目前我没发现有其他办法,除非是你一个人搞掉全部的工作,从输入设备到内存管理到压缩编码到最终渲染或者储存,这其中还有数不清的问题,并且即使你搞完了,别人也不会用,因为他不通用。不过有的压缩卡监视卡的SDK,倒是没用到DirectShow,你可以看看。COM嘛,其实DirectShow用的也不是很多,照猫画虎的就能做出哪种模式,你可以看看Direct9 SDK中有一个叫NULLNULL的例子。
      

  2.   

    我觉得还有一点就是DirectShow没有可移植性,Linux上的流媒体程序就不能用这个框架啊,如果是标准C/C++的,就可以象标准库那样移植啊。一个异构平台就不能用了。有没有什么解决方案呢?