如何闪现Directshow音频渲染缓冲区?

时间:2016-01-23 12:45:05

标签: c++ winapi audio directshow

我有一个directshow过滤器图表,可以永久运行而不会停止。但是,当我将图形源更改为其他视频文件时,音频和图像之间的同步。视频流失败了。

由于某些音频帧还没有播放,它正在发生。如何告诉图表闪存音频缓冲区?

1 个答案:

答案 0 :(得分:0)

当您停止过滤器图表时,将无条件地刷新数据。

不停止,您可以通过调用相应的输入引脚IPin::BeginFlushIPin::EndFlush方法(第一个然后紧接着第二个)来删除缓冲数据。这不一定是渲染器的输入引脚,您有兴趣调用上游音频引脚,以便这个刷新呼叫传播通过并将所有内容排出到渲染器。