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占用率就会上升很高。