zoukankan      html  css  js  c++  java
  • GStreamer调试 参数与函数的使用(转)

    转自:http://blog.sina.com.cn/s/blog_5cf930300100ia75.html


    一、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.ubuntu.com/manpages/gutsy/man1/gst-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 GST_DEBUG_CATEGORY_INIT (my_category, "mycategory",5, "for own debug level");

    #endif // DG_H_INCLUDED

  • 相关阅读:
    mysql中标量子查询和关联子查询的性能比较
    关于mysql函数GROUP_CONCAT
    mysqldump和smbclient的简单使用
    找到自己除编码外可以做的事情
    smalldatetime和datetime的区别
    一个简单的职责链设计
    mysql中用HEX和UNHEX函数处理二进制数据的导入导出
    英语词根、词根、前缀、后缀大全
    ASP.NET编译执行常见错误及解决方法汇总之二
    ASP.NET编译执行常见错误及解决方法汇总之五(终结篇)
  • 原文地址:https://www.cnblogs.com/newgreen/p/1982984.html
Copyright © 2011-2022 走看看