我有一个适用于原始视频的插件,可以在工作期间调整大小。 这个插件有两个(兼容的)视频输入和一个视频输出。 输入和输出的上限可能不同
但是当我尝试在接收器和源上使用不同的大写时,它无法链接。
实施例
这很好用。
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
并查看了视频插件描述并更改了my_plugin描述,如
Factory Details:
..
Klass Mixer/Effect/Converter/Video/Scaler
..
但它仍然无效。我想念的是什么?
编辑。我的问题是因为GST_PAD_SET_PROXY_CAPS()
用于所有接收器/源接收器。根据{{3}},此功能简化了事件管理,并保证这些上限兼容。
答案 0 :(得分:0)
使用GST_PAD_SET_PROXY_CAPS()
是一个答案。