如何调试我的C gstreamer代码?

时间:2013-01-10 09:54:40

标签: c debugging gstreamer

我成功地编程并执行了Application Development Manual页面中的helloworld.c。这非常有效。

使用此命令行

完成编译
gcc -Wall helloworld.c -o helloworld $(pkg-config --cflags --libs gstreamer-1.0)

我正在使用ubuntu 12.0.4上安装的默认gstreamer。

我担心调试我的程序,我知道这可以使用命令行选项GST_DEBUG来实现。以下是在{csv文件中生成qtdemux的调试报告的示例。

GST_DEBUG=qtdemux:5 gst-launch filesrc location=/home/pub_Irma.mp4 ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! ffmpegcolorspace ! autovideosink 2> > (tee /media/thesis/log_pub.csv)

但由于我没有使用gst-launch,我想知道如何以编程方式执行相同操作?手动代码中缺少什么来生成调试报告?或者在编译或/和执行程序时是否设置了特殊参数?

我尝试过这种方式编译

gcc $2 -o $3 -Wall `pkg-config --cflags --libs gstreamer-0.10 --enable-gst-debug`

但没有成功

感谢您的回复!

2 个答案:

答案 0 :(得分:5)

我终于发现这可以通过以这种方式运行程序在执行时间内完成

GST_DEBUG=oggdemux:5 ./helloworld file.ogg

以上示例调试ogg demuxer

答案 1 :(得分:0)

GST_DEBUG是一个环境变量,可以与任何gstreamer应用程序一起使用,只要未禁用日志记录子系统即可。请注意,输出不是cvs格式。我建议使用gst-debug-viewer来思考输出(从freedesktop git获取)。