Visual C++ - 重新连接直接显示筛选器引脚



如何重新连接滤波器引脚?

我创建了一个调整大小过滤器 (c++),并添加了一个包含选项 Pal(720X576) 和 Ntsc(720X480) 的属性页。(默认值为 Pal)。

在图形编辑中,我选择了一个视频文件并向其添加了我的调整器过滤器,当我播放图形时,它工作正常并以 Pal 显示视频。当我尝试将其更改为 Ntsc 时,它无法正常工作。要使其正常工作,我需要首先断开 Resizer 过滤器引脚,然后更改输出设置,然后重新连接。(我手动执行此操作,视频正在 Ntsc 模式下播放。

是否可以在 Transform() 或任何其他更好的建议中重新连接过滤器。请建议/指出我的仪式方向。

当图形停止时,您可以像构建图形一样重新连接引脚:使用 IGraphBuilder::DisconnectIGraphBuilder::Connect 。您无法从Transform方法执行此操作,因为停止的图形尚未调用它。

当图形运行时,您可以尝试动态地重新同意媒体类型连接,这不能保证有效。请参阅动态格式更改:

当筛选器切换媒体类型时,称为动态格式 改变。如果您正在编写 DirectShow 筛选器,您应该注意 动态格式更改的机制。即使您的过滤器 不支持此类更改,如果另一个,它应该正确响应 过滤器请求新格式。

最新更新