2013-01-10 48 views
3

我在Application Development Manual第43页成功编程并执行helloworld.c。它工作得很好。如何调试我的C gstreamer代码?

编译使用

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

我使用的是安装在我的ubuntu 12.0.4默认的GStreamer此命令行来完成。

我很在意调试我的程序,我知道这可以通过使用命令行选项GST_DEBUG来实现。下面是一个例子,其中qtdemux的调试报告是在csv文件中生成的。

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` 

但没有成功

感谢您的答复!

回答

5

我终于发现这可以在执行时间通过运行程序这样

GST_DEBUG=oggdemux:5 ./helloworld file.ogg 

上述例子调试OGG分路器

0

GST_DEBUG来完成是可以与任何使用的环境变量gstreamer应用程序,只要日志记录子系统未被禁用即可。请注意,输出不是cvs格式。我建议使用gst-debug-viewer来挖掘输出的内容(从freedesktop git中获取它)。