From: Eunhae Choi Date: Wed, 23 Aug 2017 07:52:48 +0000 (+0900) Subject: [0.6.63] modify buffering msg handling X-Git-Tag: submit/tizen/20170823.085029^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff39381f9dfe6f9e08e2d681c33c1c1b33810a3b;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git [0.6.63] modify buffering msg handling Change-Id: I919213e5a6680b1b185753c4737da92125ec1633 --- diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index b0a75a6..9184264 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.62 +Version: 0.6.63 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/include/mm_player_priv.h b/src/include/mm_player_priv.h index 6482d68..a22c7e4 100644 --- a/src/include/mm_player_priv.h +++ b/src/include/mm_player_priv.h @@ -699,7 +699,6 @@ typedef struct { gboolean sent_bos; /* timeout source for lazy pause */ - guint lazy_pause_event_id; guint resume_event_id; guint resumable_cancel_id; diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index f8c82c0..b02a294 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -1307,9 +1307,21 @@ __mmplayer_gst_callback(GstBus *bus, GstMessage *msg, gpointer data) break; } - if (!MMPLAYER_CMD_TRYLOCK(player)) { - LOGW("Fail to get cmd lock. skip msg handling."); - break; + if (player->pd_mode == MM_PLAYER_PD_MODE_URI) { + if (!MMPLAYER_CMD_TRYLOCK(player)) { + gint per = 0; + + LOGW("[PD mode] can't get cmd lock, only post buffering msg"); + + gst_message_parse_buffering(msg, &per); + LOGD("[PD mode][%s] buffering %d %%....", GST_OBJECT_NAME(GST_MESSAGE_SRC(msg)), per); + + msg_param.connection.buffering = per; + MMPLAYER_POST_MSG(player, MM_MESSAGE_BUFFERING, &msg_param); + break; + } + } else { + MMPLAYER_CMD_LOCK(player); } __mmplayer_update_buffer_setting(player, msg); @@ -8841,13 +8853,6 @@ _mmplayer_destroy(MMHandleType handle) if (MM_ERROR_NONE != _mmplayer_resource_manager_deinit(&player->resource_manager[RESOURCE_TYPE_VIDEO_OVERLAY])) LOGE("failed to deinitialize resource manager\n"); -#ifdef USE_LAZY_PAUSE - if (player->lazy_pause_event_id) { - __mmplayer_remove_g_source_from_context(player->context.global_default, player->lazy_pause_event_id); - player->lazy_pause_event_id = 0; - } -#endif - if (player->resume_event_id) { g_source_remove(player->resume_event_id); player->resume_event_id = 0;