summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeechul Jeon <heechul.jeon@samsung.com>2016-03-20 23:03:00 -0700
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>2016-03-20 23:03:00 -0700
commit8ee14004b03f302e12a9ba3165d7f5297cdc8084 (patch)
treed079da70343ca4b15edaf90fd3176a3de1f344f3
parent1e591bb4857701b4c17bf7e8d54a54618dbcb1c3 (diff)
parent676d50c6977474f308bedbaa22f66856ad7d2f05 (diff)
downloadlibmm-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.h2
-rw-r--r--src/mm_player_ini.c5
-rw-r--r--src/mm_player_priv.c7
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;