如何在gstreamer中设置元素的sink pad属性?

时间:2012-06-08 08:57:57

标签: c gstreamer

如何在程序中设置sink pad的属性 例如:

sin_00::outWidth=1280 sin_00::outHeight=720 in this way pipeline was run using gst-launch-0.10 .....

要设置此属性,我已使用gst_pad_set_property() API,但它不起作用 它显示以下错误:

3_video_temp.c: In function 'main':
3_video_temp.c:551: warning: implicit declaration of function 'gst_pad_set_property'
/tmp/cc2zDbzt.o: In function `main':
/home/project/compWorkspace/Edubeam/3_video_temp.c:551: undefined reference to `gst_pad_set_property'
collect2: ld returned 1 exit status
make: *** [all] Error 1

请告诉我们如何尽快设置该值。

3 个答案:

答案 0 :(得分:1)

大多数打击垫都没有属性。宽度和高度通常通过在缓冲区和焊盘上设置的大写来协商。

答案 1 :(得分:1)

如果打击垫具有​​属性(如视频混合器中的打击垫),则只需使用g_object_set,就像使用任何属性一样,如下所示:

g_object_set (pad, "width", 1280, NULL);

答案 2 :(得分:0)

您在系统上安装了哪个版本的GStreamer?快速检查使用:

gst-inspect --version

您在哪里找到gst_pad_set_property()的文档或示例?我刚刚在我的Linux开发系统中的/usr/include/gstreamer-0.10/gst/*中搜索了gst_pad_set_property并且空手而归。但是当我搜索GStreamer的最新源快照时,会出现该功能。这让我相信你可能正在查看开发版GStreamer的文档或示例,它们具有早期版本中未见的新的便利API(我偶尔会遇到类似的问题)。

你想在水槽垫上设置什么属性?