FillBuffer中在无数据时如何设置时间

FillBuffer中在无数据时如何设置时间

编者:李国帅

qq:9611153 微信lgs9611153

时间:2012/12/24 14:17:17

背景原因:

描述:

FillBuffer中在无数据时进行时间设置的错误。

启示:

有时候,不要太想当然,编码需要细心点。

问题相关:

描述了在使用directshow filter的时候,填充播放缓冲时,需要注意FillBuffer中的一个细节。

所需资源:

Direchtshow filter

 

解决方案:

样本获取时,如果暂时没有数据,不应该使用0,而应该使用NULL

         REFERENCE_TIME rtBeginPos = 0;

         REFERENCE_TIME rtEndPos = 0;

         pms->SetTime(&rtBeginPos,&rtEndPos);//这里将任务从头开始

 

替换为

或者

 

补充

        Sleep(2);//如果这里是Sleep(1),那么播放视频个数超过5,CPU占用率就会上升很高。

 

猜你喜欢

转载自blog.csdn.net/lgs790709/article/details/86578907