【发布时间】:2013-01-31 20:14:13
【问题描述】:
我正在编写我的第一个 gstreamer 插件,但我无法显示我的调试跟踪。
我使用:gst-template-0.10/gst-plugin/tools/make_elem 来生成我自定义的插件模板。
我的第一个操作是在 gst_demux_hbb_tv_chain 中添加一个宏 GST_LOG_OBJECT 以获取缓冲区的大小。
但是没有显示痕迹。
我阅读了有关为 gstreamer 开发插件的文档,有一个 debug part,我的模板中的内容完全相同。
我以这种方式启动了我的管道: GST_DEBUG=demuxhbbtv=5 gst-launch fakesrc ! demuxhbbtv静默=真!假水槽
(GST_DEBUG_CATEGORY_INIT (gst_demux_hbb_tv_debug, "demuxhbbtv", 0, "模板 demuxhbbtv");)
- 我尝试使用 g_print,它可以工作。
我错过了什么?
这是我的代码的一部分:
GST_DEBUG_CATEGORY_STATIC (gst_demux_hbb_tv_debug);
#define GST_CAT_DEFAULT gst_demux_hbb_tv_debug
static gboolean demuxhbbtv_init (GstPlugin * demuxhbbtv)
{
...
GST_DEBUG_CATEGORY_INIT (gst_demux_hbb_tv_debug, "demuxhbbtv", 0, "Template demuxhbbtv");
...
}
static GstFlowReturn
gst_demux_hbb_tv_chain (GstPad * pad, GstBuffer * buf)
{
...
demuxHbbTv = GST_DEMUXHBBTV (gst_pad_get_parent (pad));
GST_LOG_OBJECT (demuxHbbTv, "!!!!!!!!!!!!!!!!!!!!!!!!!!==> buffer size= %d ....\n", GST_BUFFER_SIZE(buf) );
...
}
【问题讨论】:
标签: gstreamer