DirectShow中例子pull模式的源filter播放大文件慢的问题
来源:互联网 发布:java中null什么意思 编辑:程序博客网 时间:2024/04/28 18:13
DirectShow自带的例子中,有一个pull拉模式的Source Filter例子程序(Async那个),在它的Load()函数(装载源文件)里面调用了Read()函数,这里它是将整个源文件都读入内存中(所以播放小文件不太影响而播放大文件开始要等很久很久)
我本来的处理是:
让Read()函数先读取适当数据后启动一个子线程接着读数据,而主线程开始连接Graph实现播放,这样可以实现,不过伴随出现了2个问题: A.虽然只读了小部分数据,不过向下传递的参数还是文件的总大小,好象后面Stream那个类使用它的时候还很费时间(它的Size(),SetPoinyer(),Reag()这3个函数都使用了文件大小这个参数),不过还是比不用子线程快多了 B.这时候如果子线程数据还没读完,快进就有问题,因为快进到了还没有数据的位置, 画面会静止不动.
后来使用内存映射文件,解决:)
- DirectShow中例子pull模式的源filter播放大文件慢的问题
- DirectShow中网络播放器的源Source Filter
- DirectShow中网络播放器的源Source Filter
- DirectShow中网络播放器的源Source Filter
- DirectShow中网络播放器的源Source Filter
- DirectShow中网络播放器的源Source Filter
- DirectShow中网络播放器的源Source Filter
- DirectShow中写render filter的问题
- 自己写的一个pull模式的source filter,播放mpeg1 2可以,而播放wmv不行的问题
- DirectShow中Pull模式下的代码执行流程
- DirectShow Filter的Render问题
- DirectShow Filter的Render问题
- DirectShow中写push模式的source filter流程
- DirectShow中filter文件的注册和注销
- DirectShow Filter 编译时遇到的问题
- 关于 DirectShow 中各个例子的编译转换问题
- DirectShow中Filter的连接过程
- 调试directshow的filter
- 利用Treeview做权限树的一种方法
- 把数据从SQL2000导到SQl2005时打开关系图 提示错误 修正方法
- 在代理中利用VBA对word直接编辑后保存
- Foundation of AJAX 阅读笔记(三)
- 使用ASP.NET Atlas ItemView控件显示集合中的单个数据
- DirectShow中例子pull模式的源filter播放大文件慢的问题
- 使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航
- 全面接触Java集合框架
- 使用ASP.NET Atlas SortBehavior实现客户端排序
- Liferay中使用Velocity的注意事项
- 使用ASP.NET Atlas XSLTView控件用XSLT修饰并显示XML数据
- 使用Java的配置文件
- Servlet的复习
- 经纬度计算他们距离的算法(!!!!!!!!!求助啊)