diff options
author | Heechul Jeon <heechul.jeon@samsung.com> | 2016-03-20 23:03:00 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.vlan103.tizen.org> | 2016-03-20 23:03:00 -0700 |
commit | 8ee14004b03f302e12a9ba3165d7f5297cdc8084 (patch) | |
tree | d079da70343ca4b15edaf90fd3176a3de1f344f3 | |
parent | 1e591bb4857701b4c17bf7e8d54a54618dbcb1c3 (diff) | |
parent | 676d50c6977474f308bedbaa22f66856ad7d2f05 (diff) | |
download | libmm-player-8ee14004b03f302e12a9ba3165d7f5297cdc8084.tar.gz libmm-player-8ee14004b03f302e12a9ba3165d7f5297cdc8084.tar.bz2 libmm-player-8ee14004b03f302e12a9ba3165d7f5297cdc8084.zip |
Merge "when video cant be supported on device, player will return error" into tizensubmit/tizen/20160321.072619
-rw-r--r-- | src/include/mm_player_ini.h | 2 | ||||
-rw-r--r-- | src/mm_player_ini.c | 5 | ||||
-rw-r--r-- | src/mm_player_priv.c | 7 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/include/mm_player_ini.h b/src/include/mm_player_ini.h index 51bf8c0..8cc7cfe 100644 --- a/src/include/mm_player_ini.h +++ b/src/include/mm_player_ini.h @@ -75,6 +75,7 @@ typedef struct __mm_player_ini gint localplayback_state_change_timeout; gint delay_before_repeat; gint eos_delay; + gboolean video_playback_supported; gchar gst_param[5][PLAYER_INI_MAX_PARAM_STRLEN]; gchar exclude_element_keyword[PLAYER_INI_MAX_ELEMENT][PLAYER_INI_MAX_STRLEN]; @@ -148,6 +149,7 @@ typedef struct __mm_player_ini #define DEFAULT_ASYNC_START TRUE #define DEFAULT_DISABLE_SEGTRAP TRUE #define DEFAULT_VIDEO_CONVERTER "" +#define DEFAULT_VIDEO_PLAYBACK_SUPPORTED TRUE #define DEFAULT_LIVE_STATE_CHANGE_TIMEOUT 30 /* sec */ #define DEFAULT_LOCALPLAYBACK_STATE_CHANGE_TIMEOUT 10 /* sec */ /* http streaming */ diff --git a/src/mm_player_ini.c b/src/mm_player_ini.c index 075df16..f76f5a1 100644 --- a/src/mm_player_ini.c +++ b/src/mm_player_ini.c @@ -175,7 +175,7 @@ mm_player_ini_load(mm_player_ini_t* ini) ini->localplayback_state_change_timeout = iniparser_getint(dict, "general:localplayback state change timeout", DEFAULT_LOCALPLAYBACK_STATE_CHANGE_TIMEOUT); ini->eos_delay = iniparser_getint(dict, "general:eos delay", DEFAULT_EOS_DELAY); ini->async_start = iniparser_getboolean(dict, "general:async start", DEFAULT_ASYNC_START); - + ini->video_playback_supported = iniparser_getboolean(dict, "general:video playback supported", DEFAULT_VIDEO_PLAYBACK_SUPPORTED); ini->delay_before_repeat = iniparser_getint(dict, "general:delay before repeat", DEFAULT_DELAY_BEFORE_REPEAT); MMPLAYER_INI_GET_STRING(dict, ini->videosink_element_overlay, "general:videosink element x", DEFAULT_VIDEOSINK_OVERLAY); @@ -229,6 +229,7 @@ mm_player_ini_load(mm_player_ini_t* ini) ini->eos_delay = DEFAULT_EOS_DELAY; ini->async_start = DEFAULT_ASYNC_START; ini->delay_before_repeat = DEFAULT_DELAY_BEFORE_REPEAT; + ini->video_playback_supported = DEFAULT_VIDEO_PLAYBACK_SUPPORTED; strncpy( ini->audioresampler_element, DEFAULT_AUDIORESAMPLER, PLAYER_INI_MAX_STRLEN -1 ); strncpy( ini->audiosink_element, DEFAULT_AUDIOSINK, PLAYER_INI_MAX_STRLEN -1 ); @@ -279,7 +280,7 @@ mm_player_ini_load(mm_player_ini_t* ini) LOGD("eos_delay(msec) : %d\n", ini->eos_delay); LOGD("delay before repeat(msec) : %d\n", ini->delay_before_repeat); LOGD("async_start : %d\n", ini->async_start); - + LOGD("video_playback_supported : %d\n", ini->video_playback_supported); LOGD("gst param1 : %s\n", ini->gst_param[0]); LOGD("gst param2 : %s\n", ini->gst_param[1]); LOGD("gst param3 : %s\n", ini->gst_param[2]); diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 92b6ba8..b25fea0 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -12427,6 +12427,13 @@ GstCaps * caps, gpointer data) mm_attrs_set_string_by_name(player->attrs, "content_audio_codec", "mobile-xmf"); } MMPLAYER_FREEIF (caps_str); + } else if (g_str_has_prefix(mime, "video") && !player->ini.video_playback_supported) { + MMMessageParamType msg_param; + memset (&msg_param, 0, sizeof(MMMessageParamType)); + msg_param.code = MM_ERROR_NOT_SUPPORT_API; + MMPLAYER_POST_MSG( player, MM_MESSAGE_ERROR, &msg_param ); + LOGD("video file is not supported on this device"); + ret = FALSE; } else if (g_str_has_prefix(mime, "video") && player->videodec_linked) { LOGD("already video linked"); ret = FALSE; |