GStreamer学习二(调试日志)

GStreamer的调试子系统

是获取应用程序正在执行操作信息的简单方法。它不适用于编程错误,使用GLib方法(g_warning等)。仅在GStreamer初始化调用gst_init后才能工作,调试子系统用于在应用程序运行时记录信息性消息。每条消息都附加了一些属性。这些属性包括调试类别,严重性(此处称为“级别”)和它所属的可选GObject。这些消息中的每一个都被发送到所有已注册的调试处理程序,然后处理这些消息。GStreamer在启动时附加一个默认处理程序,它将请求的消息输出到stderr。

 

GStreamer插件日志

开发人员可能想要做的唯一事情是定义他自己的类别,在代码的顶部,声明变量并设置默认类别。

GST_DEBUG_CATEGORY_STATIC (my_category);  // define category (statically)

#define GST_CAT_DEFAULT my_category       // set as default

之后,您只需要初始化类别。

GST_DEBUG_CATEGORY_INIT (my_category, "my category",0, "This is my very own");

必须在首先使用类别之前完成初始化。插件在他们的plugin_init函数中执行此操作,库和应用程序应在初始化期间执行此操作。

可以在构建时禁用整个调试子系统,并将--disable-gst-debug开关传递给configure。如果这样做,则此文件中描述的每个函数,宏甚至结构都会评估为默认值或根本不评估任何值。所以不要采用这些功能的地址或使用其他技巧。如果由于某种原因必须这样做,仍然有一个选择。如果编译出调试子系统,则在<gst / gst.h>中定义GST_DISABLE_GST_DEBUG,因此您可以在执行操作之前检查它。禁用调试子系统将使您略微(读取:不明显)速度增加,并将减少已编译代码的大小。GStreamer库本身变小了约10%。使用GST_DEBUG_CATEGORY_INIT初始化后,其值不能再更改。

 

GStreamer设置日志文件及回调函数

GStreamer使用的默认日志记录处理程序。只要使用GST_DEBUG或类似的宏,就会调用记录函数。默认情况下,此功能设置为将消息和附加信息输出到通过user_data接收的stderr(或通过GST_DEBUG_FILE环境变量指定的日志文件) 。您可以使用gst_debug_add_log_function添加其他处理程序。您可以通过调用gst_debug_remove_log_function(gst_debug_log_default)来删除此处理程序;

 

回调函数

 

日志格式:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值