From: jiyong.min Date: Mon, 31 Oct 2022 22:39:23 +0000 (+0900) Subject: [0.6.273] modify to use GError for streaming error X-Git-Tag: accepted/tizen/unified/20221115.022401^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git;a=commitdiff_plain;h=e002efc241eeaf4659b1bcd89962e5a07129e1de [0.6.273] modify to use GError for streaming error - The streaming error message on gstreamer did not use GError, so it could cause problems on the other side. We modify to use standard GError. Change-Id: I3b19b05b9264479cf7646865c0c857bc15f62c43 --- diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 1ec98a9..fe4aa9a 100644 --- a/packaging/libmm-player.spec +++ b/packaging/libmm-player.spec @@ -1,6 +1,6 @@ Name: libmm-player Summary: Multimedia Framework Player Library -Version: 0.6.272 +Version: 0.6.273 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_gst.c b/src/mm_player_gst.c index 6abf729..a29df4f 100644 --- a/src/mm_player_gst.c +++ b/src/mm_player_gst.c @@ -484,27 +484,19 @@ __mmplayer_handle_gst_error(mmplayer_t *player, GstMessage *message, GError *err } static gboolean -__mmplayer_handle_streaming_error(mmplayer_t *player, GstMessage *message) +__mmplayer_handle_streaming_error(mmplayer_t *player, GstMessage *message, GError *error) { LOGD("\n"); MMMessageParamType msg_param = {0, }; gchar *msg_src_element = NULL; - GstStructure *s = NULL; - guint error_id = 0; - gchar *error_string = NULL; MMPLAYER_FENTER(); MMPLAYER_RETURN_VAL_IF_FAIL(player, FALSE); MMPLAYER_RETURN_VAL_IF_FAIL(message, FALSE); + MMPLAYER_RETURN_VAL_IF_FAIL(error, FALSE); - s = gst_structure_copy(gst_message_get_structure(message)); - - - if (!gst_structure_get_uint(s, "error_id", &error_id)) - error_id = MMPLAYER_STREAMING_ERROR_NONE; - - switch (error_id) { + switch (error->code) { case MMPLAYER_STREAMING_ERROR_UNSUPPORTED_AUDIO: msg_param.code = MM_ERROR_PLAYER_STREAMING_UNSUPPORTED_AUDIO; break; @@ -642,14 +634,12 @@ __mmplayer_handle_streaming_error(mmplayer_t *player, GstMessage *message) break; default: { - gst_structure_free(s); return MM_ERROR_PLAYER_STREAMING_FAIL; } } - error_string = g_strdup(gst_structure_get_string(s, "error_string")); - if (error_string) - msg_param.data = (void *)error_string; + if (error->message) + msg_param.data = (void *)(error->message); if (message->src) { msg_src_element = GST_ELEMENT_NAME(GST_ELEMENT_CAST(message->src)); @@ -668,9 +658,6 @@ __mmplayer_handle_streaming_error(mmplayer_t *player, GstMessage *message) LOGD("skip error post because it's sent already."); } - gst_structure_free(s); - MMPLAYER_FREEIF(error_string); - MMPLAYER_FLEAVE(); return TRUE; @@ -1441,7 +1428,7 @@ __mmplayer_gst_handle_error_message(mmplayer_t *player, GstMessage *msg) /* Note : the streaming error from the streaming source is handled * using __mmplayer_handle_streaming_error. */ - __mmplayer_handle_streaming_error(player, msg); + __mmplayer_handle_streaming_error(player, msg, error); /* dump state of all element */ _mmplayer_dump_pipeline_state(player); @@ -3768,7 +3755,7 @@ _mmplayer_gst_pause(mmplayer_t *player, gboolean async) /* Note : the streaming error from the streaming source is handled * using __mmplayer_handle_streaming_error. */ - __mmplayer_handle_streaming_error(player, msg); + __mmplayer_handle_streaming_error(player, msg, error); } else if (error) { LOGE("paring error posted from bus, domain : %s, code : %d", g_quark_to_string(error->domain), error->code);