在搜索操作期间绘制当前帧

时间:2013-07-18 12:04:30

标签: directshow directshow.net

我起诉IMediaSeeking::SetPositions将视频设置为某个帧。但是如果视频播放暂停,但有时候,如果我一个接一个地进行很多SetPositions不重绘,直到我再次开始播放。我在IVMRWindowlessControl9::RepaintVideo之后尝试使用SetPositions,但框架保持不变 有没有办法在VMR9

中搜索期间重新显示暂停\时的当前帧

1 个答案:

答案 0 :(得分:0)

在标准管道中,过滤器图上没有实体可以保留最后一个好的视频帧以进行重绘。寻求涉及冲洗生产线上的遗骸,然后使用来自新流点的新数据预加载。

如果您希望在搜索操作正在进行时为视频渲染器提供一种要显示的横幅,我采用的方法是在靠近视频渲染器的管道的视频段上放置一个额外的自定义滤镜。过滤器负责保留最后显示的帧的副本,并且在从上游连接接收到有效帧之前,它能够在搜索操作下向视频渲染器下游传送该数据。

最后显示的帧的方便副本可能也适用于其他场景,因为过滤器可以在应用程序可能需要时随时重新请求数据。例如,当应用程序更新VMR的混音器位图时,可以使用此功能,VMR希望下一个主视频帧可视化位图更新。过滤器可以通过提供其所拥有的副本来强制更新。