分享

GStreamer调试 参数与函数的使用

 开花结果 2012-09-12

一、GStreamer的五个打印调试信息的函数:

GST_LOG ()                 ==>>5

GST_DEBUG ()           ==>>4

GST_INFO ()                ==>>3

GST_WARNING ()      ==>>2

GST_ERROR ()           ==>>1

现摘录《
GStreamer Plugin Writer's Guide》中23.2节中Debugging 的第一句话:

Elements should never use their standard output for debugging (using functions such as printf () or g_print ()).

永远不要使用printf () 或 g_print (),也就是说,既然提供了五个调试函数,那我们最好就用GStreamer的了。

二、调试等级(LEVEL)
总共有六个等级[
0,5
0: 什么都不打印

1: 打印GST_ERROR ()的信息

2: 打印GST_ERROR () GST_WARNING () 的信息

3: 打印GST_ERROR () GST_WARNING () GST_INFO () 的信息

4: 打印GST_ERROR () GST_WARNING () GST_INFO () GST_DEBUG () 的信息

5: 打印GST_ERROR () GST_WARNING () GST_INFO () GST_DEBUG () GST_LOG () 的信息


三、关于 --gst-debug-level=
LEVEL的用法  
LEVEL的取值为[0,5]
  如果使用这个参数来打印调试信息,则所有文件(包括库文件)里的调试信息都将输出来

四、关于--gst-debug=
STRING的用法

只输出由STRING指定范围内的调试信息

STRING 为调试分类名加:号和调试等级,比如: GST_CAT:5,GST_ELEMENT_*:3,oggdemux:5

在编写GStreamer程序时,创建自己的调试分类的过程如下:

Step1
在文件的开头添加两行代码:

GST_DEBUG_CATEGORY_STATIC (myelement_debug);

#define GST_CAT_DEFAULT myelement_debug


Step2

在初始化的地方添加:

GST_DEBUG_CATEGORY_INIT (myelement_debug, "myelement", 0, "My own element");


Step3

在命令行参数中使用: --gst-debug=myelement:X (X的取值为[0,5])


五、gst-launch工具与调试参数

在使用gst-launch 可以通过添加调试参数来打印调试信息
,参见:http://manpages./manpa ... -launch-0.10.1.html中的OPTIONS 部分

六、在Code::Blocks中设置命令行调试参数

Project
      ==>Set progrmas' arguments..

                  ==> Program arguments

填写类似: --gst-debug-level=X 或 --gst-debug=myelement:X(X的取值为[0,5])

七、OBJECT调试函数的用法也类似

GST_LOG_OBJECT ()

GST_DEBUG_OBJECT ()

GST_INFO_OBJECT ()

GST_WARNING_OBJECT ()

GST_ERROR_OBJECT ()

八、在多个文件中共同使用同一个调试类别的方法:


创建一个头文件,其内容如下:

#ifndef DG_H_INCLUDED

#define DG_H_INCLUDED

#include <gst/gst.h>

GST_DEBUG_CATEGORY_STATIC (my_category);

#define GST_CAT_DEFAULT my_category

//注意: 声明一个宏,在不同的文件里,如果有函数里使用该调试类别的话,直接使用该宏

#define
USE_OWN_SAME_DEBUG

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多