使用g_object_set / strchr进行分段错误

这行给我一个分段错误

g_object_set(G_OBJECT(data.udpsrc), "port", 5000, "caps", caps, NULL); 

哪里

  • data.udpsrc = gst_element_factory_make("udpsrc", "source");
  • caps = gst_caps_new_empty_simple("application/x-rtp");

这是gdb的输出:

 Program received signal SIGSEGV, Segmentation fault. strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28 28 ../ports/sysdeps/arm/armv6/strchr.S: No such file or directory. (gdb) bt #0 strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28 #1 0x76e618d8 in g_param_spec_pool_lookup () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 #2 0x76e5c6a4 in g_object_set_valist () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 #3 0x76e5d00c in g_object_set () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 #4 0x00010dc4 in main () 

这是Bug 740191 。 您至少需要将Gstreamer更新为1.4.5版本。