diff options
author | Gilbok Lee <gilbok.lee@samsung.com> | 2017-01-25 22:13:06 +0900 |
---|---|---|
committer | Gilbok Lee <gilbok.lee@samsung.com> | 2017-02-02 20:03:59 +0900 |
commit | 72e0e2948d00259a4a0eec826152db3c87bb9d62 (patch) | |
tree | 37b7464c285ebd7de214482933ba7880805335fd | |
parent | 39f463d5b4946254e4a86402e857357316f64692 (diff) | |
download | libmm-player-72e0e2948d00259a4a0eec826152db3c87bb9d62.tar.gz libmm-player-72e0e2948d00259a4a0eec826152db3c87bb9d62.tar.bz2 libmm-player-72e0e2948d00259a4a0eec826152db3c87bb9d62.zip |
[v0.6.24] Disable webm fileformat (skip autoplugin select)
Change-Id: I21c5a4acc6e7af77eb0131a0cba772191a398e35
-rw-r--r-- | src/mm_player_priv.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 6e52e0c..2403fdf 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -10144,9 +10144,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) { @@ -11680,14 +11678,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)); @@ -11754,6 +11745,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. |