c - 如何在 gstreamer 中为 udpsrc 元素创建上限?

标签 c ubuntu gstreamer

我想使用 udpsrc 元素运行音频管道。我将设置 udpsrc 的上限(功能) 例如 gst-launch-0.10 -vvv udpsrcmulticast-iface=eth0 uri=udp://239.255.255.6:25012 caps="application/x-rtp,media=(string)audio,payload=(int) 96,时钟速率=(int)16000,编码名称=(字符串)MPEG4-GENERIC,流类型=(字符串)5,配置文件级别ID=(字符串)15,模式=(字符串)AAC-hbr,配置=(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);

但是它显示了段错误,所以请尽快告诉我该怎么办?.....

最佳答案

代码看起来不错(尽管你漏掉了大写字母)。要修复泄漏,请执行以下操作:

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

要找出在 gdb 下运行应用程序时出现段错误的原因:

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

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

关于c - 如何在 gstreamer 中为 udpsrc 元素创建上限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878656/

相关文章:

c - 奇怪的 undefined symbol 错误

c++ - Gstreamer rtsp流到appsink到openCV

voip - 使用 gstreamer 和 ffmpeg 进行 H.264 解码

c++ - 通过 gstreamer 和 qt5 可视化 rtsp 流的红色神器

ubuntu - 安装 hadoop 时出现“HADOOP_COMMON_HOME”错误

node.js - Ubuntu apt-get 未满足的 NPM 依赖项

c# - 在测试运行期间从 MSTest 中的代码调用类别或测试名称

c - 嵌套结构填充 - C - 64 位 - linux

c - FD_SET、FD_CLR ...是原子操作吗?

mysql - 如何在 ubuntu 操作系统上启动 mysql 服务时导入 .sql 文件