2013-03-07 39 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