【发布时间】:2023-03-15 18:16:01
【问题描述】:
我正在编写一个directshow源过滤器来读取特定的原始文件,原始文件在每一帧中都包含时间戳(utc时间)
我的过滤器是从微软SDK的“Push Source Filters Sample”修改而来的,所以最重要的是覆盖GetMediaType()、DecideBufferSize()和FillBuffer()。
我的问题在 FillBuffer(IMediaSample *pSample) 中。我不知道如何在这个函数中正确调用 pSample->SetTime(),因为时间戳从一个很大的数字开始,帧会一直等到 StreamTime 到达时间戳。
问题可以通过在每一帧上减去一个偏移量来解决,但是我需要下游过滤器中的原始时间戳(SampleGrabber)
有没有更好的解决方案?
【问题讨论】:
标签: directshow