support rtsp playback
[platform/core/multimedia/libmm-player.git] / src / mm_player_utils.c
index c412f24..4d273d3 100644 (file)
@@ -36,6 +36,7 @@
 #include "media_format.h"
 
 #define MEDIA_PATH_EXTERNAL tzplatform_getenv(TZ_SYS_STORAGE) /* external storage, sd card, usb */
+#define FD_NUM_FOR_DEBUG 10
 
 const gchar *
 _mmplayer_get_stream_type_name(int type)
@@ -235,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:
@@ -307,11 +310,16 @@ _mmplayer_exist_file_path(const char *file_path)
                LOGE("failed to get file status");
        } else if (stat_results.st_size == 0) {
                LOGE("file size is zero");
+               if (fd < FD_NUM_FOR_DEBUG)
+                       LOGW("close fd %d", fd);
                close(fd);
                return MM_ERROR_PLAYER_FILE_NOT_FOUND;
-       } else
+       } else {
                LOGW("file size : %lld bytes", (long long)stat_results.st_size);
+       }
 
+       if (fd < FD_NUM_FOR_DEBUG)
+               LOGW("close fd %d", fd);
        close(fd);
 
        return MM_ERROR_NONE;
@@ -637,3 +645,16 @@ media_format_mimetype_e _mmplayer_convert_audio_pcm_str_to_media_format_mime(con
                return MEDIA_FORMAT_MAX;
        }
 }
+
+gboolean _mmplayer_use_uridecodebin3(mmplayer_t *player) /* MMPLAYER_USE_URIDECODEBIN3(player) */
+{
+       MMPLAYER_RETURN_VAL_IF_FAIL(player, FALSE);
+
+       if (MMPLAYER_IS_MS_BUFF_SRC(player))
+               return FALSE;
+
+       if (!player->ini.use_uridecodebin3)
+               return FALSE;
+
+       return TRUE;
+}