[0.6.218] fix svace issue 73/225773/3 accepted/tizen/unified/20200225.224353 accepted/tizen/unified/20200304.124039 submit/tizen/20200224.115404 submit/tizen/20200302.032418
authorEunhye Choi <eunhae1.choi@samsung.com>
Mon, 24 Feb 2020 09:40:10 +0000 (18:40 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Mon, 24 Feb 2020 11:49:30 +0000 (20:49 +0900)
Change-Id: Iaeed241147e5cd0b789d9a603bc8564af0a6f6e9

packaging/libmm-player.spec
src/mm_player_priv.c
src/mm_player_utils.c

index ae93736..0bbda67 100644 (file)
@@ -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
index 550d3b5..403cf19 100644 (file)
@@ -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);
index dfddc91..7665565 100644 (file)
@@ -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: