[v0.6.24] Disable webm fileformat (skip autoplugin select) 53/112053/4
authorGilbok Lee <gilbok.lee@samsung.com>
Wed, 25 Jan 2017 13:13:06 +0000 (22:13 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Wed, 1 Feb 2017 04:58:55 +0000 (13:58 +0900)
Change-Id: I21c5a4acc6e7af77eb0131a0cba772191a398e35

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

index 3c1a2f0..1846c2e 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.24
+Version:    0.6.25
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 3d34208..4b963d3 100644 (file)
@@ -10132,9 +10132,7 @@ GstCaps *caps, gpointer data)
 
        if ((!MMPLAYER_IS_WFD_STREAMING(player)) &&
                (!MMPLAYER_IS_RTSP_STREAMING(player)) &&
-               (g_strrstr(player->type, "audio/x-raw-int") ||
-               g_strrstr(player->type, "audio/webm") ||
-               g_strrstr(player->type, "video/webm"))) {
+               (g_strrstr(player->type, "audio/x-raw-int"))) {
                LOGE("not support media format\n");
 
                if (player->msg_posted == FALSE) {
@@ -11656,14 +11654,7 @@ GstCaps * caps,  gpointer data)
                /* set it directly because not sent by TAG */
                if (g_strrstr(caps_str, "mobile-xmf"))
                        mm_attrs_set_string_by_name(player->attrs, "content_audio_codec", "mobile-xmf");
-               if (g_strrstr(caps_str, "audio/webm")) {
-                       LOGD("webm is not supported");
-                       ret = FALSE;
-               }
                MMPLAYER_FREEIF(caps_str);
-       } else if (g_str_has_prefix(mime, "video/webm")) {
-               LOGD("webm is not supported");
-               ret = FALSE;
        } else if (g_str_has_prefix(mime, "video") && !player->ini.video_playback_supported) {
                MMMessageParamType msg_param;
                memset(&msg_param, 0, sizeof(MMMessageParamType));
@@ -11730,6 +11721,19 @@ GstCaps* caps, GstElementFactory* factory, gpointer data)
                }
        }
 
+       /* exclude webm format */
+       /* NOTE : MSL have to post MM_ERROR_PLAYER_NOT_SUPPORTED_FORMAT
+        * because webm format is not supportable.
+        * If webm is disabled in "autoplug-continue", there is no state change
+        * failure or error because the decodebin will expose the pad directly.
+        * It make MSL invoke _prepare_async_callback.
+        * So, we need to disable webm format in "autoplug-select" */
+       if (strstr(caps_str, "webm")) {
+               LOGW("webm is not supported");
+               result = GST_AUTOPLUG_SELECT_SKIP;
+               goto DONE;
+       }
+
        /* check factory class for filtering */
        /* NOTE : msl don't need to use image plugins.
         * So, those plugins should be skipped for error handling.