首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

Directshow ,SetSyncSource怎么将参考时钟设置为Audio Render

2012-04-22 
Directshow ,SetSyncSource如何将参考时钟设置为Audio Render请教1:我现在在用Directshow做视频点播,服务

Directshow ,SetSyncSource如何将参考时钟设置为Audio Render
请教
1:我现在在用Directshow做视频点播,服务器打过来的是MEPG-2 的TS流,所以就用了微软提供的MPEG-2 Demultiplexer解复用,解过之后就deliver数据,graph可以构建起来,并且能播放数据,但是出现音视频不同步,我查了一下,意思是说MPEG-2 Demultiplexer默认情况下会扮演filter graph的参考时钟的角色,最好设置filter graph的参考时钟为Audio Renderer,我就不知道用setsynsource 如何将参考时钟设置为Audio Renderer,传入什么样的参数呢?(graph从解复用之后是智能连接)

2:看Directshow开发指南上有写到在接受一些流式的压缩数据之后,时间戳很难打,在经过解码filter之后到大render filter之前一般都要打时间戳,那如果是这样的话,该解码filter是不是要自己写?

3:对于sample打时间戳,那在render之前要不要自己去处理这个时间戳,还是render filter自己就会定位?

[解决办法]
1.枚举Graph中的FILTER, 获取Audio Renderer Filter,然后从Audio Renderer Filter中
获取参考时钟接口,调用setsynsource即可。

2.流式压缩数据一般都是在解复用后,打时间戳。解码filter一般和时间戳没有直接的关系。

3.一般不用。
[解决办法]
1.是的,如果能直接创建audio renderer filter也可以,但要保证graph使用直接创建的
AUDIO RENDER FILTER.创建graph后,运行之前,设置clock.

2.一般都是解复用时获取到时间戳相关信息,然后设置时间戳。

热点排行