[0.6.102] fix dash buffering issue 06/184606/1 accepted/tizen/4.0/unified/20180719.160950 submit/tizen_4.0/20180719.073416
authorEunhae Choi <eunhae1.choi@samsung.com>
Thu, 19 Jul 2018 06:50:53 +0000 (15:50 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Thu, 19 Jul 2018 06:50:53 +0000 (15:50 +0900)
Change-Id: I0ac7692dfd58427acefa2b827c388be8bca926c4

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

index 2b7a5776588b10ef34785da9cb73f40baf39f4d5..5f67666b6dcbc0a6630abe564c0135518f63b6df 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.101
+Version:    0.6.102
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 529a0ddd7c85688bddbd73a3a16dd19c97fe6ec7..b9467ea1a96df72224b57ca0cb8d48645d76945a 100644 (file)
@@ -10352,8 +10352,13 @@ __mmplayer_update_content_type_info(mm_player_t* player)
                }
        } else if (g_strrstr(player->type, "application/dash+xml")) {
                player->profile.uri_type = MM_PLAYER_URI_TYPE_DASH;
+               if (player->streamer) {
+                       player->streamer->is_adaptive_streaming = TRUE;
+                       player->streamer->buffering_req.mode = MM_PLAYER_BUFFERING_MODE_FIXED;
+               }
        }
 
+       LOGD("uri type : %d", player->profile.uri_type);
        MMPLAYER_FLEAVE();
 }
 
@@ -10602,7 +10607,8 @@ __mmplayer_try_to_plug_decodebin(mm_player_t* player, GstPad *srcpad, const GstC
        /* set decodebin property about buffer in streaming playback. *
         * in case of HLS/DASH, it does not need to have big buffer        *
         * because it is kind of adaptive streaming.                  */
-       if (!MMPLAYER_IS_HTTP_PD(player) && MMPLAYER_IS_HTTP_STREAMING(player)) {
+       if (!MMPLAYER_IS_HTTP_PD(player) &&
+           (MMPLAYER_IS_HTTP_STREAMING(player) || MMPLAYER_IS_HTTP_LIVE_STREAMING(player) || MMPLAYER_IS_DASH_STREAMING(player))) {
                guint max_size_bytes = MAX_DECODEBIN_BUFFER_BYTES;
                guint64 max_size_time = MAX_DECODEBIN_BUFFER_TIME;
                init_buffering_time = (init_buffering_time != 0) ? (init_buffering_time) : (player->ini.http_buffering_time);
@@ -11970,7 +11976,8 @@ __mmplayer_gst_element_added(GstElement *bin, GstElement *element, gpointer data
 
                if (!MMPLAYER_IS_HTTP_PD(player) &&
                        ((MMPLAYER_IS_HTTP_STREAMING(player)) ||
-                       (MMPLAYER_IS_HTTP_LIVE_STREAMING(player)))) {
+                       (MMPLAYER_IS_HTTP_LIVE_STREAMING(player)) ||
+                       (MMPLAYER_IS_DASH_STREAMING(player)))) {
                        /* in case of multiqueue, max bytes size is defined with fixed value in mm_player_streaming.h*/
                        __mm_player_streaming_set_multiqueue(player->streamer,
                                element,