2

我正在编写我的第一个 gstreamer 插件,但我无法显示我的调试跟踪。

我使用:gst-template-0.10/gst-plugin/tools/make_elem 来生成我自定义的插件模板。

我的第一个动作是在 gst_demux_hbb_tv_chain 中添加一个宏 GST_LOG_OBJECT 来获取缓冲区的大小。

但不显示跟踪。

  1. 我阅读了有关为 gstreamer 开发插件的文档,其中有一个调试部分,我在模板中得到的内容完全相同。

  2. 我以这种方式启动了我的管道: GST_DEBUG=demuxhbbtv=5 gst-launch fakesrc !demuxhbbtv静音=真!假水槽

(GST_DEBUG_CATEGORY_INIT (gst_demux_hbb_tv_debug, " demuxhbbtv ", 0, "模板 demuxhbbtv");)

  1. 我尝试放置一个 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) );
 ...
 }
4

1 回答 1

2

它是 GST_DEBUG=demuxhbbtv:5 (将第二个 = 替换为 :)

于 2013-01-31T12:14:13.883 回答