[0.6.280] set buffering criteria on adaptivedemux2
[platform/core/multimedia/libmm-player.git] / src / mm_player_streaming.c
index 6f5cd28..2928562 100644 (file)
@@ -281,11 +281,6 @@ static void __streaming_set_queue2_queue_type(mmplayer_streaming_t *streamer, mu
 
        buffer_handle = &(streamer->buffer_handle[BUFFER_TYPE_MUXED]);
 
-       if (!(buffer_handle && buffer_handle->buffer)) {
-               LOGE("buffer_handle->buffer is NULL!");
-               return;
-       }
-
        if (type == MUXED_BUFFER_TYPE_MEM_QUEUE) { /* ts */
                LOGD("use memory queue for buffering. streaming is played on push-based. \n"
                                        "buffering position would not be updated.\n"
@@ -325,7 +320,8 @@ static void __streaming_set_buffer_size(mmplayer_streaming_t *streamer,
                        g_object_set(G_OBJECT(buffer_handle->buffer),
                                                        "max-size-bytes", MAX_BUFFER_SIZE_BYTES,        /* mq size is fixed, control it with high/low watermark value*/
                                                        "max-size-time", (guint64)(buffering_time * GST_MSECOND),
-                                                       "max-size-buffers", 0, NULL);                           /* disable */
+                                                       "max-size-buffers", 0,                      /* disable */
+                                                       "use-interleave", FALSE, NULL);
 
                        GET_CURRENT_BUFFERING_TIME(buffer_handle) = buffering_time;
                        GET_CURRENT_BUFFERING_BYTE(buffer_handle) = MAX_BUFFER_SIZE_BYTES;
@@ -618,7 +614,7 @@ static void __streaming_handle_adaptive_buffering_mode(mmplayer_streaming_t *str
                LOGD("adjusted bytes : %d or %d", buffering_bytes,
                        (gint)(bitrate_info.byte_out_rate * buffer_buffering_time / 1000));
 
-               /* start monitoring the abmormal state */
+               /* start monitoring the abnormal state */
                if (content_info.position > 0)
                        streamer->default_val.buffering_monitor = TRUE;
 
@@ -764,7 +760,7 @@ static void __streaming_update_buffering_status(mmplayer_streaming_t *streamer,
                streamer->buffering_state = MM_PLAYER_BUFFERING_IN_PROGRESS;
                streamer->buffering_percent = -1;
 
-               if (!streamer->buffering_req.is_pre_buffering) {
+               if (!streamer->buffering_req.is_pre_buffering && !streamer->is_adaptive_streaming) {
                        streamer->need_update = TRUE;
                        __streaming_adjust_min_threshold(streamer, position);
                }
@@ -810,7 +806,8 @@ void _mm_player_streaming_buffering(mmplayer_streaming_t *streamer, GstMessage *
        }
 
        streamer->need_update = FALSE;
-       __streaming_update_buffer_setting(streamer, buffering_msg, content_size, position, duration);
+       if (!streamer->is_adaptive_streaming)
+               __streaming_update_buffer_setting(streamer, buffering_msg, content_size, position, duration);
 
        return;
 }