[0.6.159] remove the low per control code 79/195079/1
authorEunhae Choi <eunhae1.choi@samsung.com>
Mon, 10 Dec 2018 11:26:23 +0000 (20:26 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Mon, 10 Dec 2018 11:26:25 +0000 (20:26 +0900)
- the low level is fixed with 1.0

Change-Id: I40be0da0b760e1e4d6bb89188ab1a784cd8a968b

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

index f5c607b..c489dd2 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.158
+Version:    0.6.159
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index a4ecbda..7ce00b8 100644 (file)
@@ -92,7 +92,6 @@ typedef struct __mm_player_ini {
        gchar httpsrc_element[PLAYER_INI_MAX_STRLEN];
        gboolean http_use_file_buffer;
        guint http_ring_buffer_size;
-       gdouble http_buffering_limit;
        guint http_max_size_bytes;
        gint http_buffering_time; /* ms */
        gint http_timeout;
@@ -168,7 +167,6 @@ typedef struct __mm_player_ini {
 #define DEFAULT_HTTPSRC                                   "souphttpsrc"
 #define DEFAULT_HTTP_USE_FILE_BUFFER                      FALSE
 #define DEFAULT_HTTP_RING_BUFFER_SIZE                     (20*1024*1024) /* bytes : 20MBytes */
-#define DEFAULT_HTTP_BUFFERING_LIMIT                      99.0      /* percent */
 #define DEFAULT_HTTP_MAX_SIZE_BYTES                       1048576   /* bytes : 1 MBytes  */
 #define DEFAULT_HTTP_BUFFERING_TIME                       1.2       /* sec */
 #define DEFAULT_HTTP_TIMEOUT                              -1        /* infinite retry */
index 3c01b80..2947345 100644 (file)
@@ -47,8 +47,7 @@
 #define DEFAULT_ADAPTIVE_PLAYING_TIME (3*1000) /* ms */
 
 #define DEFAULT_BUFFERING_TIME (3*1000) /* ms */
-#define DEFAULT_BUFFER_LOW_PERCENT 1.0      /* 1%, Low threshold for starting buffering */
-#define DEFAULT_BUFFER_HIGH_PERCENT 99.0    /* 15%      */
+#define DEFAULT_BUFFER_HIGH_PERCENT 99.0
 #define DEFAULT_RING_BUFFER_SIZE (20*1024*1024) /* 20MBytes */
 
 #define STREAMING_USE_FILE_BUFFER
@@ -155,16 +154,12 @@ void __mm_player_streaming_set_queue2(mm_player_streaming_t* streamer,
                                                                                gboolean use_buffering,
                                                                                guint buffering_bytes,
                                                                                gint buffering_time,
-                                                                               gdouble low_percent,
-                                                                               gdouble high_percent,
                                                                                MuxedBufferType type,
                                                                                gchar* file_path,
                                                                                guint64 content_size);
 void __mm_player_streaming_set_multiqueue(mm_player_streaming_t* streamer,
                                                                                GstElement* buffer,
-                                                                               gint buffering_time,
-                                                                               gdouble low_percent,
-                                                                               gdouble high_percent);
+                                                                               gint buffering_time);
 void __mm_player_streaming_sync_property(mm_player_streaming_t* streamer, GstElement* decodebin);
 void __mm_player_streaming_buffering(mm_player_streaming_t* streamer,
                                                                          GstMessage *buffering_msg,
index abd9417..0317681 100644 (file)
@@ -183,7 +183,6 @@ mm_player_ini_load(mm_player_ini_t* ini)
                MMPLAYER_INI_GET_STRING(dict, ini->httpsrc_element, "http streaming:httpsrc element", DEFAULT_HTTPSRC);
                ini->http_use_file_buffer = iniparser_getboolean(dict, "http streaming:http use file buffer", DEFAULT_HTTP_USE_FILE_BUFFER);
                ini->http_ring_buffer_size = iniparser_getint(dict, "http streaming:http ring buffer size", DEFAULT_HTTP_RING_BUFFER_SIZE);
-               ini->http_buffering_limit = iniparser_getdouble(dict, "http streaming:http buffering high limit", DEFAULT_HTTP_BUFFERING_LIMIT);
                ini->http_max_size_bytes = iniparser_getint(dict, "http streaming:http max size bytes", DEFAULT_HTTP_MAX_SIZE_BYTES);
                ini->http_buffering_time = (gint)(iniparser_getdouble(dict, "http streaming:http buffering time", DEFAULT_HTTP_BUFFERING_TIME) * 1000);
                ini->http_timeout = iniparser_getint(dict, "http streaming:http timeout", DEFAULT_HTTP_TIMEOUT);
@@ -233,7 +232,6 @@ mm_player_ini_load(mm_player_ini_t* ini)
 
                /* http streaming */
                strncpy(ini->httpsrc_element, DEFAULT_HTTPSRC, PLAYER_INI_MAX_STRLEN - 1);
-               ini->http_buffering_limit = DEFAULT_HTTP_BUFFERING_LIMIT;
                ini->http_use_file_buffer = DEFAULT_HTTP_USE_FILE_BUFFER;
                ini->http_ring_buffer_size = DEFAULT_HTTP_RING_BUFFER_SIZE;
                ini->http_max_size_bytes = DEFAULT_HTTP_MAX_SIZE_BYTES;
@@ -293,7 +291,6 @@ mm_player_ini_load(mm_player_ini_t* ini)
 
        /* http streaming */
        LOGD("httpsrc element : %s\n", ini->httpsrc_element);
-       LOGD("http buffering limit : %f \n", ini->http_buffering_limit);
        LOGD("http use file buffer : %d \n", ini->http_use_file_buffer);
        LOGD("http ring buffer size : %d \n", ini->http_ring_buffer_size);
        LOGD("http max_size bytes : %d \n", ini->http_max_size_bytes);
index 557b575..3c1b0ba 100644 (file)
@@ -1365,8 +1365,6 @@ __mmplayer_gst_set_queue2_buffering(mm_player_t *player)
                                        TRUE,                                                           /* use_buffering */
                                        buffer_bytes,
                                        init_buffering_time,
-                                       1.0,                                                            /* low percent */
-                                       player->ini.http_buffering_limit,       /* high percent */
                                        MUXED_BUFFER_TYPE_MAX,                          /* use previous buffer type setting */
                                        NULL,
                                        ((dur_bytes > 0) ? ((guint64)dur_bytes) : 0));
@@ -5834,8 +5832,6 @@ __mmplayer_gst_make_queue2(mm_player_t *player)
                                                                                FALSE,
                                                                                max_buffer_size_bytes,
                                                                                player->ini.http_buffering_time,
-                                                                               1.0,                                                            /* no meaning */
-                                                                               player->ini.http_buffering_limit,       /* no meaning */
                                                                                type,
                                                                                player->http_file_buffering_path,
                                                                                (guint64)dur_bytes);
@@ -5944,7 +5940,6 @@ __mmplayer_gst_create_decoder(mm_player_t* player, GstPad *srcpad, const GstCaps
 
                g_object_set(G_OBJECT(decodebin), "use-buffering", TRUE,
                                                                                        "high-percent", (gint)high_percent,
-                                                                                       "low-percent", (gint)DEFAULT_BUFFER_LOW_PERCENT,
                                                                                        "max-size-bytes", GET_MAX_BUFFER_BYTES(player->streamer),
                                                                                        "max-size-time", (guint64)(GET_MAX_BUFFER_TIME(player->streamer) * GST_MSECOND),
                                                                                        "max-size-buffers", 0, NULL);  // disable or automatic
@@ -7191,7 +7186,7 @@ __mmplayer_gst_element_added(GstElement *bin, GstElement *element, gpointer data
                        (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, player->ini.http_buffering_time, 1.0, player->ini.http_buffering_limit);
+                       __mm_player_streaming_set_multiqueue(player->streamer, element, player->ini.http_buffering_time);
                        __mm_player_streaming_sync_property(player->streamer, player->pipeline->mainbin[MMPLAYER_M_AUTOPLUG].gst);
                }
 
index f759e08..1da6f4d 100644 (file)
@@ -45,8 +45,7 @@ typedef struct {
        gdouble percent_time;
 } streaming_buffer_info_t;
 
-static void streaming_check_buffer_percent(gdouble in_low, gdouble in_high, gdouble *out_low, gdouble *out_high);
-static void streaming_set_buffer_percent(mm_player_streaming_t* streamer, BufferType type, gdouble low_percent, gdouble high_percent_byte, gdouble high_percent_time);
+static void streaming_set_buffer_percent(mm_player_streaming_t* streamer, BufferType type, gdouble high_percent_byte, gdouble high_percent_time);
 static void streaming_set_queue2_queue_type(mm_player_streaming_t* streamer, MuxedBufferType type, gchar * file_path, guint64 content_size);
 static void streaming_set_buffer_size(mm_player_streaming_t* streamer, BufferType type, guint buffering_bytes, gint buffering_time);
 static void streaming_update_buffering_status(mm_player_streaming_t* streamer, GstMessage *buffering_msg, gint64 position);
@@ -98,7 +97,6 @@ streaming_buffer_initialize(streaming_buffer_t* buffer_handle, gboolean buffer_i
 
        buffer_handle->buffering_bytes = DEFAULT_BUFFER_SIZE_BYTES;
        buffer_handle->buffering_time = DEFAULT_BUFFERING_TIME;
-       buffer_handle->buffer_low_percent = DEFAULT_BUFFER_LOW_PERCENT;
        buffer_handle->buffer_high_percent = DEFAULT_BUFFER_HIGH_PERCENT;
        buffer_handle->is_live = FALSE;
 
@@ -223,43 +221,11 @@ void __mm_player_streaming_set_content_bitrate(mm_player_streaming_t* streamer,
 }
 
 static void
-streaming_check_buffer_percent(gdouble in_low, gdouble in_high, gdouble *out_low, gdouble *out_high)
-{
-       gdouble buffer_low_percent = DEFAULT_BUFFER_LOW_PERCENT;
-       gdouble buffer_high_percent = DEFAULT_BUFFER_HIGH_PERCENT;
-
-       MMPLAYER_FENTER();
-
-       MMPLAYER_RETURN_IF_FAIL(out_low && out_high);
-
-       if (in_low <= MIN_BUFFER_PERCENT || in_low >= MAX_BUFFER_PERCENT)
-               LOGW("buffer low percent is out of range. use defaut value.");
-       else
-               buffer_low_percent = in_low;
-
-       if (in_high  <=  MIN_BUFFER_PERCENT || in_high  >=  MAX_BUFFER_PERCENT)
-               LOGW("buffer high percent is out of range. use defaut value.");
-       else
-               buffer_high_percent = in_high;
-
-       if (buffer_high_percent <= buffer_low_percent)
-               buffer_high_percent =  buffer_low_percent + 1.0;
-
-       LOGD("set buffer percent to %2.3f ~ %2.3f.", buffer_low_percent, buffer_high_percent);
-
-       *out_low = buffer_low_percent;
-       *out_high = buffer_high_percent;
-}
-
-static void
 streaming_set_buffer_percent(mm_player_streaming_t* streamer,
                                                                BufferType type,
-                                                               gdouble low_percent,
                                                                gdouble high_percent_byte,
                                                                gdouble high_percent_time)
 {
-       gdouble confirmed_low = DEFAULT_BUFFER_LOW_PERCENT;
-       gdouble confirmed_high = DEFAULT_BUFFER_HIGH_PERCENT;
        gdouble high_percent = 0.0;
 
        streaming_buffer_t* buffer_handle = NULL;
@@ -287,22 +253,18 @@ streaming_set_buffer_percent(mm_player_streaming_t* streamer,
        else
                high_percent = MAX(high_percent_time, high_percent_byte);
 
-       streaming_check_buffer_percent(low_percent, high_percent, &confirmed_low, &confirmed_high);
+       if (high_percent <= MIN_BUFFER_PERCENT || high_percent  >=  MAX_BUFFER_PERCENT)
+               high_percent = DEFAULT_BUFFER_HIGH_PERCENT;
 
        /* if use-buffering is disabled, this settings do not have any meaning. */
-       LOGD("target buffer elem : %s (%2.3f ~ %2.3f)",
-               GST_ELEMENT_NAME(buffer_handle->buffer), confirmed_low, confirmed_high);
-
-       if ((confirmed_low == DEFAULT_BUFFER_LOW_PERCENT) ||
-               (buffer_handle->buffer_low_percent != confirmed_low))
-               g_object_set(G_OBJECT(buffer_handle->buffer), "low-percent", (gint)confirmed_low, NULL);
+       LOGD("target buffer elem : %s (~ %2.3f)",
+               GST_ELEMENT_NAME(buffer_handle->buffer), high_percent);
 
-       if ((confirmed_high == DEFAULT_BUFFER_HIGH_PERCENT) ||
-               (buffer_handle->buffer_high_percent != confirmed_high))
-               g_object_set(G_OBJECT(buffer_handle->buffer), "high-percent", (gint)confirmed_high, NULL);
+       if ((high_percent == DEFAULT_BUFFER_HIGH_PERCENT) ||
+               (buffer_handle->buffer_high_percent != high_percent))
+               g_object_set(G_OBJECT(buffer_handle->buffer), "high-percent", (gint)high_percent, NULL);
 
-       buffer_handle->buffer_low_percent = confirmed_low;
-       buffer_handle->buffer_high_percent = confirmed_high;
+       buffer_handle->buffer_high_percent = high_percent;
 
        MMPLAYER_FLEAVE();
        return;
@@ -445,8 +407,6 @@ void __mm_player_streaming_set_queue2(mm_player_streaming_t* streamer,
                                                                                gboolean use_buffering,
                                                                                guint buffering_bytes,
                                                                                gint buffering_time,
-                                                                               gdouble low_percent,
-                                                                               gdouble high_percent,
                                                                                MuxedBufferType type,
                                                                                gchar* file_path,
                                                                                guint64 content_size)
@@ -480,7 +440,7 @@ void __mm_player_streaming_set_queue2(mm_player_streaming_t* streamer,
 
        /* initial setting */
        streaming_set_buffer_size(streamer, BUFFER_TYPE_MUXED, buffering_bytes, buffering_time);
-       streaming_set_buffer_percent(streamer, BUFFER_TYPE_MUXED, low_percent, high_percent, 0);
+       streaming_set_buffer_percent(streamer, BUFFER_TYPE_MUXED, DEFAULT_BUFFER_HIGH_PERCENT, 0);
        if (type < MUXED_BUFFER_TYPE_MAX)
                streaming_set_queue2_queue_type(streamer, type, file_path, content_size);
 
@@ -502,7 +462,6 @@ void __mm_player_streaming_sync_property(mm_player_streaming_t* streamer, GstEle
                g_object_set(G_OBJECT(decodebin),
                                        "max-size-bytes", buffer_handle->buffering_bytes,
                                        "max-size-time", (guint64)(buffer_handle->buffering_time * GST_MSECOND),
-                                       "low-percent", (gint)buffer_handle->buffer_low_percent,
                                        "high-percent", (gint)buffer_handle->buffer_high_percent, NULL);
        }
 
@@ -511,11 +470,10 @@ void __mm_player_streaming_sync_property(mm_player_streaming_t* streamer, GstEle
 
 void __mm_player_streaming_set_multiqueue(mm_player_streaming_t* streamer,
                                                                                GstElement* buffer,
-                                                                               gint buffering_time,
-                                                                               gdouble low_percent,
-                                                                               gdouble high_percent)
+                                                                               gint buffering_time)
 {
        streaming_buffer_t* buffer_handle = NULL;
+       gdouble high_percent = 0.0;
 
        MMPLAYER_FENTER();
        MMPLAYER_RETURN_IF_FAIL(streamer && buffer);
@@ -540,7 +498,7 @@ void __mm_player_streaming_set_multiqueue(mm_player_streaming_t* streamer,
 
        /* initial setting */
        streaming_set_buffer_size(streamer, BUFFER_TYPE_DEMUXED, GET_MAX_BUFFER_BYTES(streamer), GET_MAX_BUFFER_TIME(streamer));
-       streaming_set_buffer_percent(streamer, BUFFER_TYPE_DEMUXED, low_percent, 0, high_percent);
+       streaming_set_buffer_percent(streamer, BUFFER_TYPE_DEMUXED, 0, high_percent);
 
        streamer->need_sync = TRUE;
 
@@ -772,8 +730,6 @@ streaming_update_buffer_setting(mm_player_streaming_t* streamer,
        streaming_content_info_t content_info;
        streaming_bitrate_info_t bitrate_info;
 
-       gdouble low_percent = 0.0;
-
        MMPLAYER_FENTER();
 
        MMPLAYER_RETURN_IF_FAIL(streamer);
@@ -804,9 +760,6 @@ streaming_update_buffer_setting(mm_player_streaming_t* streamer,
                                        buffering_mode, bitrate_info.byte_in_rate, bitrate_info.byte_out_rate,
                                        bitrate_info.buffer_criteria, bitrate_info.time_rate);
 
-       /* calculate buffer low/high percent */
-       low_percent = DEFAULT_BUFFER_LOW_PERCENT;
-
        if (buffering_mode == MM_PLAYER_BUFFERING_MODE_FIXED) {
                /********************
                 * (1) fixed mode   *
@@ -857,7 +810,7 @@ streaming_update_buffer_setting(mm_player_streaming_t* streamer,
                streaming_set_buffer_size(streamer, streamer->streaming_buffer_type, buffer_info.buffering_bytes, buffer_info.buffering_time);
        }
 
-       streaming_set_buffer_percent(streamer, streamer->streaming_buffer_type, low_percent, buffer_info.percent_byte, buffer_info.percent_time);
+       streaming_set_buffer_percent(streamer, streamer->streaming_buffer_type, buffer_info.percent_byte, buffer_info.percent_time);
 
        LOGD("buffer setting: size %d, time %d, per %f\n",
                                                        GET_CURRENT_BUFFERING_BYTE(buffer_handle),