From 5e915128654d3456471a6ed8d7e03a310ed6cab8 Mon Sep 17 00:00:00 2001 From: Gilbok Lee Date: Wed, 25 Jan 2017 22:13:06 +0900 Subject: [PATCH] [v0.6.24] Disable webm fileformat (skip autoplugin select) Change-Id: I21c5a4acc6e7af77eb0131a0cba772191a398e35 --- packaging/libmm-player.spec | 2 +- src/mm_player_priv.c | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 3c1a2f0..1846c2e 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.24 +Version: 0.6.25 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 3d34208..4b963d3 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -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. -- 2.7.4