【发布时间】:2015-06-23 17:43:11
【问题描述】:
我有一个可以处理原始视频的插件,并且可以在工作期间调整它的大小。 这个插件有两个(兼容的)视频输入和一个视频输出。 输入和输出的上限可能不同
但是当我尝试在 sink 和 source 使用不同的 caps 时,它无法链接。
示例
这很好用。
gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! my_plugin name=t ! video/x-raw,format=BGR,width=800,height=600 ! fakesink videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! t.
但这不是。 [警告:错误的管道:无法将 t 链接到 fakesink0]
gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! my_plugin make_small=1 name=t ! video/x-raw,format=BGR,width=750,height=600 ! fakesink videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! t.
我阅读了docs/design/draft-klass.txt 并查看了 videoscale 插件描述并更改了 my_plugin 描述
Factory Details:
..
Klass Mixer/Effect/Converter/Video/Scaler
..
但它仍然不起作用。我想念什么?
编辑。我的问题是因为对所有接收器/源垫使用GST_PAD_SET_PROXY_CAPS()。根据documentation,此功能简化了事件管理并保证这些上限兼容。
【问题讨论】:
标签: gstreamer