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) {
/* 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));
}
}
+ /* 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.