[0.6.63] modify buffering msg handling 62/145662/2 accepted/tizen/unified/20170824.050846 submit/tizen/20170823.085029
authorEunhae Choi <eunhae1.choi@samsung.com>
Wed, 23 Aug 2017 07:52:48 +0000 (16:52 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Wed, 23 Aug 2017 07:54:30 +0000 (16:54 +0900)
Change-Id: I919213e5a6680b1b185753c4737da92125ec1633

packaging/libmm-player.spec
src/include/mm_player_priv.h
src/mm_player_priv.c

index b0a75a6379ccd3dc6dfd7286f736ecd4f9529508..918426458970bb0b4a72e4d4bad42e9b9c979cae 100644 (file)
@@ -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
index 6482d68b61e0dd113444a658c1c692e5b70e4b0a..a22c7e405ca0f103a52502e77548d126519a9b19 100644 (file)
@@ -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;
 
index f8c82c0a343d33577d84b63b97da84a26618b70e..b02a29411cb43e7418ae9cfcc9fe8d5c99ee5007 100644 (file)
@@ -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;