如何在gstreamer中为udpsrc元素创建大写字母?

时间:2012-06-04 08:52:56

标签: c ubuntu gstreamer

我想使用udpsrc元素运行音频管道。我将设置udpsrc的上限(功能) 例如gst-launch-0.10 -vvv udpsrc multicast-iface = eth0 uri = udp://239.255.255.6:25012 caps = “application / x-rtp,media =(string)audio,payload =(int) 96,clock-rate =(int)16000,encoding-name =(string)MPEG4-GENERIC,streamtype =(string)5,profile-level-id =(string)15,mode =(string)AAC-hbr,config =(string)1408,sizelength =(string)13,indexlength =(string)3,indexdeltalength =(string)3“使用

在程序i中设置此上限
g_object_set(G_OBJECT(Source),"caps",gst_caps_new_simple ("application/x-rtp",
                    "media", G_TYPE_STRING, "audio",
                    "payload",G_TYPE_INT,96,
                    "clock-rate", G_TYPE_INT, 16000,
                    "encoding-name", G_TYPE_STRING,"MPEG4-GENERIC",
                    "streamtype",G_TYPE_STRING,"5",
                    "profile-level-id", G_TYPE_STRING,"15",
                    "mode",G_TYPE_STRING,"AAC-hbr",
                    "config",G_TYPE_STRING,"1408",
                    "sizelength",G_TYPE_STRING,"13",
                    "indexlength",G_TYPE_STRING,"3"
                    "indexdeltalength",G_TYPE_STRING,"3",
                    NULL),NULL);

但它显示出分段错误,所以请尽快告诉我该做什么?.....

1 个答案:

答案 0 :(得分:1)

代码看起来没问题(虽然你泄漏了大写字母)。要修复泄漏,请执行以下操作:

GstCaps *caps = gst_caps_new_simple( ....);
g_object_set(source, "caps", caps, NULL);
gst_caps_unref(caps);

找出为什么segfaults在gdb下运行应用程序:

G_DEBUG="fatal_warnings" gdb --args ./my-app <args>

在gdb“run”中,当它崩溃时键入“bt”以显示回溯。