我有一个使用DSPACK组件库在Delphi 6中编写并在Windows XP上运行的DirectShow应用程序。在我的过滤器图表的顶部是一个音频捕获过滤器。捕获过滤器已分配给我的VOIP电话,并且具有紧接在streeam下方的样本捕获器过滤器。在示例抓取器过滤器的回调方法中,每当我从具有相同时间戳(SampleTime's)的样本采集器过滤器连续获得两个媒体样本时,我添加了代码来报告。这种情况经常发生,有时几乎每次都发生。注意,捕获滤波器的缓冲区大小为100毫秒,采样率为8000 kHz。逻辑告诉我,我应该永远不会得到两个采样时间相同的样品,它们应该总是非常接近100毫秒。但这不是正在发生的事情。
当DirectShow捕获过滤器向您发送具有相同采样时间的2个连续介质样本时,这意味着什么?我是否应该忽略与前一次采样时间相同的第二次采样?或者我需要解决的另一个问题是什么?
注意,我无法控制进入我的样本时间。它们由捕获过滤器生成。
答案 0 :(得分:0)
真正的错误是我在计算时间戳时犯的错误。捕获过滤器不负责任。我投票决定关闭我的帖子,除非有关于一个名为DumpMediaSample的实用程序的有价值的评论(请参阅我原来帖子的评论部分)。