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);
}
/* 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);
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: