2013-03-07 36 views
1

我想修改gstreamer GstDebuglevel枚举中的值(可以在gst/gstinfo.h中找到它)。如果我简单地更改gstinfo.h中的枚举值,还是需要做其他修改,它会起作用吗?我想优先考虑调试相关的日志转储。我怎样才能做到以下几点。修改gstreamer调试级别值

我想是这样的:

typedef enum { 
GST_LEVEL_NONE = 0, 
GST_LEVEL_ERROR = 1, 
GST_LEVEL_WARNING = 2, 
GST_LEVEL_FIXME = 3, 
GST_LEVEL_INFO = 4, 
GST_LEVEL_LOG = 6, 
GST_LEVEL_TRACE = 7, 
/* add more */ 
GST_LEVEL_MEMDUMP = 9, 
/* add more */ 
GST_LEVEL_DEBUG = 10, 
GST_LEVEL_COUNT 
}GstDebugLevel; 

在此先感谢。

回答

0

更改枚举值并重建gstreamer就足够了。

我这个枚举测试它:

typedef enum { 
    GST_LEVEL_NONE = 0, 
    GST_LEVEL_ERROR, 
    GST_LEVEL_WARNING, 
    GST_LEVEL_INFO, 
    GST_LEVEL_DEBUG=10, 
    GST_LEVEL_LOG=5, 
    GST_LEVEL_FIXME = 6, 
    GST_LEVEL_TRACE = 7, 
    /* add more */ 
    GST_LEVEL_MEMDUMP = 9, 
    /* add more */ 
    GST_LEVEL_COUNT 
} GstDebugLevel; 

,并没有在同一GST_DEBUG值输出DEBUG级别的痕迹。

+0

嗨马丁,谢谢你的回复。修改枚举后,我有编译gstreamer和所有组件,或者如果我只编译gstreamer它会工作吗?我在你给出的枚举中还有一个疑问,GST_LEVEL_COUNT的值是10,不会与GST_LEVEL_DEBUG值冲突吗?在此先感谢 – Raju 2013-03-08 04:41:28

+0

只是gstreamer就够了。 你是对的:在我的例子中,GST_LEVEL_COUNT和GST_LEVEL_DEBUG具有相同的值,这意味着GST_LEVEL_COUNT可能无法正确显示。但你明白了。 – Martin 2013-03-08 15:20:56

+0

雅我理解它。我会尝试。非常感谢。 – Raju 2013-03-08 16:18:20