2013-01-10 50 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中獲取它)。