我正在编写我的第一个 gstreamer 插件,但我无法显示我的调试跟踪。
我使用:gst-template-0.10/gst-plugin/tools/make_elem 来生成我自定义的插件模板。
我的第一个动作是在 gst_demux_hbb_tv_chain 中添加一个宏 GST_LOG_OBJECT 来获取缓冲区的大小。
但不显示跟踪。
我阅读了有关为 gstreamer 开发插件的文档,其中有一个调试部分,我在模板中得到的内容完全相同。
我以这种方式启动了我的管道: 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) );
...
}