mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
openh264dec: Hook up openh264 messages to GStreamer logging
Use the OpenH264 callback to pass Openh264 internal warning/error messages through the GStreamer logging framework
This commit is contained in:
parent
d4594c5c75
commit
278cd35695
1 changed files with 30 additions and 0 deletions
|
@ -113,12 +113,34 @@ gst_openh264dec_init (GstOpenh264Dec * openh264dec)
|
|||
gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (openh264dec), TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
openh264_trace_cb (void *ctx, int level, const char *string)
|
||||
{
|
||||
GObject *o = G_OBJECT (ctx);
|
||||
GstDebugLevel lvl = GST_LEVEL_WARNING;
|
||||
|
||||
if (level >= WELS_LOG_DETAIL)
|
||||
lvl = GST_LEVEL_LOG;
|
||||
else if (level >= WELS_LOG_DEBUG)
|
||||
lvl = GST_LEVEL_DEBUG;
|
||||
else if (level >= WELS_LOG_INFO)
|
||||
lvl = GST_LEVEL_INFO;
|
||||
else if (level >= WELS_LOG_WARNING)
|
||||
lvl = GST_LEVEL_WARNING;
|
||||
else if (level >= WELS_LOG_ERROR)
|
||||
lvl = GST_LEVEL_ERROR;
|
||||
|
||||
gst_debug_log (GST_CAT_DEFAULT, lvl, "", "", 0, o, "%s", string);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gst_openh264dec_start (GstVideoDecoder * decoder)
|
||||
{
|
||||
GstOpenh264Dec *openh264dec = GST_OPENH264DEC (decoder);
|
||||
gint ret;
|
||||
SDecodingParam dec_param = { 0 };
|
||||
int log_level;
|
||||
WelsTraceCallback log_cb;
|
||||
|
||||
if (openh264dec->decoder != NULL) {
|
||||
openh264dec->decoder->Uninitialize ();
|
||||
|
@ -127,6 +149,14 @@ gst_openh264dec_start (GstVideoDecoder * decoder)
|
|||
}
|
||||
WelsCreateDecoder (&(openh264dec->decoder));
|
||||
|
||||
log_level = WELS_LOG_WARNING;
|
||||
log_cb = openh264_trace_cb;
|
||||
openh264dec->decoder->SetOption (DECODER_OPTION_TRACE_LEVEL, &log_level);
|
||||
openh264dec->decoder->SetOption (DECODER_OPTION_TRACE_CALLBACK,
|
||||
(void *) &log_cb);
|
||||
openh264dec->decoder->SetOption (DECODER_OPTION_TRACE_CALLBACK_CONTEXT,
|
||||
(void *) &decoder);
|
||||
|
||||
dec_param.uiTargetDqLayer = 255;
|
||||
dec_param.eEcActiveIdc = ERROR_CON_FRAME_COPY;
|
||||
#if OPENH264_MAJOR == 1 && OPENH264_MINOR < 6
|
||||
|
|
Loading…
Reference in a new issue