[0.6.75] fix buffering time calc issue 63/156463/1 accepted/tizen/4.0/unified/20171019.082007 submit/tizen_4.0/20171018.114001 tizen_4.0.m2_release
authorEunhae Choi <eunhae1.choi@samsung.com>
Wed, 18 Oct 2017 11:14:00 +0000 (20:14 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Wed, 18 Oct 2017 11:14:00 +0000 (20:14 +0900)
Change-Id: Id1a1d1d7ff434d2215b103882cc7ef22cf77d763

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

index d7ac5fd..3895f5b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.74
+Version:    0.6.75
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 5f88ba9..d9bd890 100644 (file)
@@ -1798,7 +1798,7 @@ __mmplayer_gst_extract_tag_from_msg(mm_player_t* player, GstMessage* msg)
 #define MMPLAYER_UPDATE_TAG_STRING(gsttag, attribute, playertag) \
 if (gst_tag_list_get_string(tag_list, gsttag, &string)) {\
        if (string != NULL) { \
-               SECURE_LOGD("%d update tag string : %s\n", strlen(string), string); \
+               SECURE_LOGD("update tag string : %s\n", string); \
                if (strlen(string) > MM_MAX_STRING_LENGTH) { \
                        char *new_string = malloc(MM_MAX_STRING_LENGTH); \
                        strncpy(new_string, string, MM_MAX_STRING_LENGTH-1); \
index c343ce6..2e3071f 100644 (file)
@@ -382,8 +382,9 @@ streaming_set_queue2_queue_type(mm_player_streaming_t* streamer, muxed_buffer_ty
 
                        g_object_set(G_OBJECT(buffer_handle->buffer), "temp-template", file_buffer_name, NULL);
                }
-       } else
+       } else {
                buffer_size = (guint64)((streamer->ring_buffer_size > 0) ? (streamer->ring_buffer_size) : DEFAULT_RING_BUFFER_SIZE);
+       }
 
        LOGW("[Queue2] set ring buffer size: %lld\n", buffer_size);
        g_object_set(G_OBJECT(buffer_handle->buffer), "ring-buffer-max-size", buffer_size, NULL);
@@ -594,8 +595,9 @@ streaming_get_current_bitrate_info(mm_player_streaming_t* streamer,
                if (gst_element_query((streamer->buffer_handle[BUFFER_TYPE_MUXED].buffer), query))
                        gst_query_parse_buffering_stats(query, &mode, &in_rate, &out_rate, &buffering_left);
                gst_query_unref(query);
-       } else
+       } else {
                gst_message_parse_buffering_stats(buffering_msg, &mode, &in_rate, &out_rate, &buffering_left);
+       }
 
        LOGD("Streaming Info : in %d, out %d, left %lld\n", in_rate, out_rate, buffering_left);
 
@@ -621,8 +623,9 @@ streaming_get_current_bitrate_info(mm_player_streaming_t* streamer,
                out_rate = GET_BYTE_FROM_BIT(MAX(streamer->buffer_avg_bitrate, estimated_content_bitrate));
 
                LOGD("(avg)content_max_byte_rate %d, byte_out_rate %d\n", buffer_criteria, out_rate);
-       } else
+       } else {
                LOGW("There is no content bitrate information\n");
+       }
 
        if ((in_rate > 0) && (out_rate > 0))
                buffer_buffering_time =  (gint)(out_rate / in_rate)*1000;
@@ -659,7 +662,7 @@ streaming_handle_fixed_buffering_mode(mm_player_streaming_t* streamer,
        LOGD("buffering time: %d ms, out rate: %d\n", buffering_time, byte_out_rate);
 
        if ((buffering_time > 0) && (byte_out_rate > 0)) {
-               buffering_bytes = GET_NEW_BUFFERING_BYTE(byte_out_rate * buffering_time);
+               buffering_bytes = (guint)GET_NEW_BUFFERING_BYTE((gdouble)(byte_out_rate * buffering_time)/1000);
        } else {
                if (buffering_time <= 0)
                        buffering_time = GET_CURRENT_BUFFERING_TIME(buffer_handle);
@@ -671,8 +674,7 @@ streaming_handle_fixed_buffering_mode(mm_player_streaming_t* streamer,
        GET_PERCENT(buffering_time, GET_CURRENT_BUFFERING_TIME(buffer_handle), buffer_handle->buffer_high_percent, per_time);
        GET_PERCENT(buffering_bytes, GET_CURRENT_BUFFERING_BYTE(buffer_handle), buffer_handle->buffer_high_percent, per_byte);
 
-       LOGD("bytes %d, time %d, per_byte %f, per_time %f\n",
-                                                                               buffering_bytes, buffering_time, per_byte, per_time);
+       LOGD("bytes %d, time %d, per_byte %f, per_time %f\n", buffering_bytes, buffering_time, per_byte, per_time);
 
        (*buffer_info).buffering_bytes = buffering_bytes;
        (*buffer_info).buffering_time = buffering_time;
@@ -737,8 +739,9 @@ streaming_handle_adaptive_buffering_mode(mm_player_streaming_t* streamer,
                /* if the buffer is filled under 50%, MSL use the original default buffering time.
                   if not, MSL use just 2 sec as a default buffering time. (to reduce initial buffering time) */
                default_buffering_time = streamer->default_val.buffering_time - ((gdouble)streamer->buffering_percent/50)*1000;
-       } else
+       } else {
                default_buffering_time = streamer->default_val.buffering_time;
+       }
 
        if (buffer_buffering_time < default_buffering_time) {
                LOGD("adjusted time: %d -> %d ms\n", buffer_buffering_time, default_buffering_time);
@@ -759,7 +762,7 @@ streaming_handle_adaptive_buffering_mode(mm_player_streaming_t* streamer,
        GET_PERCENT(buffering_bytes, GET_CURRENT_BUFFERING_BYTE(buffer_handle), buffer_handle->buffer_high_percent, per_byte);
        GET_PERCENT(buffer_buffering_time, GET_CURRENT_BUFFERING_TIME(buffer_handle), buffer_handle->buffer_high_percent, per_time);
 
-       LOGD("monitor %d, bytes %d, time %f, per_byte %f, per_time %f\n",
+       LOGD("monitor %d, bytes %d, time %d, per_byte %f, per_time %f\n",
                                                                                streamer->default_val.buffering_monitor,
                                                                                buffering_bytes, buffer_buffering_time, per_byte, per_time);