From: Eunhye Choi Date: Mon, 24 Feb 2020 09:40:10 +0000 (+0900) Subject: [0.6.218] fix svace issue X-Git-Tag: accepted/tizen/unified/20200225.224353^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git;a=commitdiff_plain;h=b33c9d84e3c82acf3d606ff51010b23bf51c605a [0.6.218] fix svace issue Change-Id: Iaeed241147e5cd0b789d9a603bc8564af0a6f6e9 --- diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index ae93736..0bbda67 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.217 +Version: 0.6.218 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 550d3b5..403cf19 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -7093,6 +7093,10 @@ _mmplayer_gst_decode_autoplug_sort(GstElement *bin, gchar (*sw_dec_info)[PLAYER_INI_MAX_STRLEN] = {NULL, }; factory = g_value_get_object(g_value_array_get_nth(factories, i)); + if (!factory) { + LOGW("failed to get factory object"); + continue; + } klass = gst_element_factory_get_klass(factory); factory_name = GST_OBJECT_NAME(factory); @@ -7154,8 +7158,12 @@ _mmplayer_gst_decode_autoplug_sort(GstElement *bin, } /* change position - insert H/W decoder according to the new position */ - new_factories = g_value_array_copy(factories); factory = g_value_get_object(g_value_array_get_nth(factories, hw_dec_idx)); + if (!factory) { + LOGW("failed to get factory object"); + return NULL; + } + new_factories = g_value_array_copy(factories); g_value_init (&val, G_TYPE_OBJECT); g_value_set_object (&val, factory); g_value_array_insert(new_factories, new_pos, &val); diff --git a/src/mm_player_utils.c b/src/mm_player_utils.c index dfddc91..7665565 100644 --- a/src/mm_player_utils.c +++ b/src/mm_player_utils.c @@ -236,12 +236,14 @@ _mmplayer_dump_pipeline_state(mmplayer_t *player) switch (gst_iterator_next(iter, &item)) { case GST_ITERATOR_OK: element = g_value_get_object(&item); - gst_element_get_state(element, &state, &pending, time); - - factory = gst_element_get_factory(element) ; - if (factory) - LOGE("%s:%s : From:%s To:%s refcount : %d", GST_OBJECT_NAME(factory) , GST_ELEMENT_NAME(element) , - gst_element_state_get_name(state), gst_element_state_get_name(pending) , GST_OBJECT_REFCOUNT_VALUE(element)); + if (element) { + gst_element_get_state(element, &state, &pending, time); + + factory = gst_element_get_factory(element) ; + if (factory) + LOGE("%s:%s : From:%s To:%s refcount : %d", GST_OBJECT_NAME(factory) , GST_ELEMENT_NAME(element) , + gst_element_state_get_name(state), gst_element_state_get_name(pending) , GST_OBJECT_REFCOUNT_VALUE(element)); + } g_value_reset(&item); break; case GST_ITERATOR_RESYNC: