From: Eunhae Choi Date: Tue, 21 Jun 2016 09:56:39 +0000 (+0900) Subject: change default buffering type from file to mem X-Git-Tag: submit/tizen/20160623.063229^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=75178cda606301da423c9ddaf9e869a892f44fe5;p=platform%2Fcore%2Fmultimedia%2Flibmm-player.git change default buffering type from file to mem apply mused temp path for file buffering set default buffering type to mem instead of file Change-Id: I0625d2931c2976350aaa1915d7bd9776845a71f9 --- diff --git a/configure.ac b/configure.ac index 78b7204..b2a745d 100644 --- a/configure.ac +++ b/configure.ac @@ -133,8 +133,6 @@ PKG_CHECK_MODULES(DLOG, dlog) AC_SUBST(DLOG_CFLAGS) AC_SUBST(DLOG_LIBS) -PKG_CHECK_MODULES(TZPLATFORM_CONFIG, libtzplatform-config) - AC_ARG_ENABLE(sdk, AC_HELP_STRING([--enable-sdk], [sdk build]), [ case "${enableval}" in diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec index 6bc7031..d8d737e 100644 --- a/packaging/libmm-player.spec +++ b/packaging/libmm-player.spec @@ -1,6 +1,6 @@ Name: libmm-player Summary: Multimedia Framework Player Library -Version: 0.5.83 +Version: 0.5.84 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 @@ -27,7 +27,6 @@ BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(capi-media-tool) BuildRequires: pkgconfig(murphy-resource) BuildRequires: pkgconfig(murphy-glib) -BuildRequires: pkgconfig(libtzplatform-config) %description Multimedia Framework Player Library files. diff --git a/src/Makefile.am b/src/Makefile.am index de09303..8314d5e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -78,7 +78,4 @@ endif if WAYLAND_SUPPORT libmmfplayer_la_CFLAGS += $(GST_WAYLAND_CFLAGS) libmmfplayer_la_LIBADD += $(GST_WAYLAND_LIBS) -endif - -libmmfplayer_la_CFLAGS += $(TZPLATFORM_CONFIG_CFLAGS) -libmmfplayer_la_LIBADD += $(TZPLATFORM_CONFIG_LIBS) \ No newline at end of file +endif \ No newline at end of file diff --git a/src/include/mm_player.h b/src/include/mm_player.h index 10aca09..3b77e98 100644 --- a/src/include/mm_player.h +++ b/src/include/mm_player.h @@ -2326,6 +2326,18 @@ int mm_player_set_media_stream_dynamic_resolution(MMHandleType player, bool drc) */ int mm_player_release_video_stream_bo(MMHandleType player, void* bo); +/** + * This function is to set mused temp file path. + * + * @param player [in] handle of player + * @param file_path [in] file path + * @return This function returns zero on success, or negative value with error code. + * + * @see + * @remark None + */ +int mm_player_set_temp_file_path(MMHandleType player, const char *file_path); + /** @} */ diff --git a/src/include/mm_player_ini.h b/src/include/mm_player_ini.h index 99d6c3e..4a0933b 100644 --- a/src/include/mm_player_ini.h +++ b/src/include/mm_player_ini.h @@ -87,7 +87,8 @@ typedef struct __mm_player_ini /* http streaming */ gchar httpsrc_element[PLAYER_INI_MAX_STRLEN]; - gchar http_file_buffer_path[PLAYER_INI_MAX_STRLEN]; + gboolean http_use_file_buffer; + guint http_ring_buffer_size; gdouble http_buffering_limit; guint http_max_size_bytes; gdouble http_buffering_time; @@ -161,7 +162,8 @@ typedef struct __mm_player_ini /* http streaming */ #define DEFAULT_HTTPSRC "souphttpsrc" -#define DEFAULT_HTTP_FILE_BUFFER_PATH "/home/owner/content" +#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 */ @@ -227,8 +229,12 @@ eos delay = 150 ; msec \n\ \n\ httppsrc element = souphttpsrc \n\ \n\ -; if set, use file or not use memory for buffering\n\ -http file buffer path = /opt/usr/media\n\ +; if yes, use file for buffering.\n\ +; if no, use memory for buffering.\n\ +http use file buffer = no\n\ +\n\ +; ring buffer size when use mem buffer \n\ +http ring buffer size = 20971520 ; 20MBytes \n\ \n\ http buffering limit = 99 ; percent\n\ \n\ diff --git a/src/include/mm_player_priv.h b/src/include/mm_player_priv.h index 1957aab..c435bdd 100644 --- a/src/include/mm_player_priv.h +++ b/src/include/mm_player_priv.h @@ -518,6 +518,7 @@ typedef struct { /* streaming player */ mm_player_streaming_t *streamer; + gchar *http_file_buffer_path; /* gstreamer pipeline */ MMPlayerGstPipelineInfo *pipeline; @@ -853,6 +854,7 @@ int _mmplayer_set_video_share_master_clock(MMHandleType hplayer, long long clock int _mmplayer_get_video_share_master_clock(MMHandleType hplayer, long long *video_time, long long *media_clock, long long *audio_time); int _mmplayer_get_video_rotate_angle(MMHandleType hplayer, int *angle); int _mmplayer_enable_sync_handler(MMHandleType hplayer, bool enable); +int _mmplayer_set_temp_file_path(MMHandleType hplayer, const char* file_path); int _mmplayer_set_uri(MMHandleType hplayer, const char* uri); int _mmplayer_set_next_uri(MMHandleType hplayer, const char* uri, bool is_first_path); int _mmplayer_get_next_uri(MMHandleType hplayer, char** uri); diff --git a/src/include/mm_player_streaming.h b/src/include/mm_player_streaming.h index aabc508..55c97f7 100644 --- a/src/include/mm_player_streaming.h +++ b/src/include/mm_player_streaming.h @@ -49,6 +49,7 @@ #define DEFAULT_BUFFERING_TIME 3.0 /* 3sec */ #define DEFAULT_BUFFER_LOW_PERCENT 1.0 /* 1% */ #define DEFAULT_BUFFER_HIGH_PERCENT 99.0 /* 15% */ +#define DEFAULT_RING_BUFFER_SIZE (20*1024*1024) /* 20MBytes */ #define STREAMING_USE_FILE_BUFFER #define STREAMING_USE_MEMORY_BUFFER @@ -92,6 +93,12 @@ typedef enum { BUFFER_TYPE_MAX, } BufferType; +typedef enum { + MUXED_BUFFER_TYPE_MEM_QUEUE, /* push mode in queue2 */ + MUXED_BUFFER_TYPE_MEM_RING_BUFFER, /* pull mode in queue2 */ + MUXED_BUFFER_TYPE_FILE, /* pull mode in queue2 */ +} muxed_buffer_type_e; + typedef struct { MMPlayerBufferingMode mode; @@ -138,7 +145,7 @@ typedef struct guint buffer_avg_bitrate; gboolean need_update; gboolean need_sync; - + gint ring_buffer_size; }mm_player_streaming_t; @@ -153,7 +160,7 @@ void __mm_player_streaming_set_queue2( mm_player_streaming_t* streamer, gdouble buffering_time, gdouble low_percent, gdouble high_percent, - gboolean use_file, + muxed_buffer_type_e type, gchar* file_path, guint64 content_size); void __mm_player_streaming_set_multiqueue( mm_player_streaming_t* streamer, diff --git a/src/mm_player.c b/src/mm_player.c index c48db33..258abb9 100644 --- a/src/mm_player.c +++ b/src/mm_player.c @@ -1326,4 +1326,19 @@ int mm_player_release_video_stream_bo(MMHandleType player, void* bo) // MMPLAYER_CMD_UNLOCK( player ); return result; -} \ No newline at end of file +} + +int mm_player_set_temp_file_path(MMHandleType player, const char *file_path) +{ + int result = MM_ERROR_NONE; + + MMPLAYER_RETURN_VAL_IF_FAIL(player, MM_ERROR_PLAYER_NOT_INITIALIZED); + + MMPLAYER_CMD_LOCK( player ); + + result = _mmplayer_set_temp_file_path(player, file_path); + + MMPLAYER_CMD_UNLOCK( player ); + + return result; +} diff --git a/src/mm_player_ini.c b/src/mm_player_ini.c index 9507a11..f2e1352 100644 --- a/src/mm_player_ini.c +++ b/src/mm_player_ini.c @@ -201,7 +201,8 @@ mm_player_ini_load(mm_player_ini_t* ini) /* http streaming */ MMPLAYER_INI_GET_STRING( dict, ini->httpsrc_element, "http streaming:httpsrc element", DEFAULT_HTTPSRC ); - MMPLAYER_INI_GET_STRING( dict, ini->http_file_buffer_path, "http streaming:http file buffer path", DEFAULT_HTTP_FILE_BUFFER_PATH ); + 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 = iniparser_getdouble(dict, "http streaming:http buffering time", DEFAULT_HTTP_BUFFERING_TIME); @@ -251,8 +252,9 @@ mm_player_ini_load(mm_player_ini_t* ini) /* http streaming */ strncpy( ini->httpsrc_element, DEFAULT_HTTPSRC, PLAYER_INI_MAX_STRLEN - 1 ); - strncpy( ini->http_file_buffer_path, DEFAULT_HTTP_FILE_BUFFER_PATH, 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; ini->http_buffering_time = DEFAULT_HTTP_BUFFERING_TIME; ini->http_timeout = DEFAULT_HTTP_TIMEOUT; @@ -308,8 +310,9 @@ mm_player_ini_load(mm_player_ini_t* ini) /* http streaming */ LOGD("httpsrc element : %s\n", ini->httpsrc_element); - LOGD("http file buffer path : %s \n", ini->http_file_buffer_path); 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); LOGD("http buffering time : %f \n", ini->http_buffering_time); LOGD("http timeout : %d \n", ini->http_timeout); diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c index 9c5a897..6c89ccb 100644 --- a/src/mm_player_priv.c +++ b/src/mm_player_priv.c @@ -96,7 +96,11 @@ #define GST_QUEUE_DEFAULT_TIME 4 #define GST_QUEUE_HLS_TIME 8 -#define MMPLAYER_USE_FILE_FOR_BUFFERING(player) (((player)->profile.uri_type != MM_PLAYER_URI_TYPE_HLS) && (player->ini.http_file_buffer_path) && (strlen(player->ini.http_file_buffer_path) > 0) ) +#define MMPLAYER_USE_FILE_FOR_BUFFERING(player) \ + (((player)->profile.uri_type != MM_PLAYER_URI_TYPE_HLS) && \ + (player->ini.http_use_file_buffer) && \ + (player->http_file_buffer_path) && \ + (strlen(player->http_file_buffer_path) > 0) ) #define MM_PLAYER_NAME "mmplayer" /*--------------------------------------------------------------------------- @@ -3417,7 +3421,7 @@ __mmplayer_gst_decode_no_more_pads (GstElement *elem, gpointer data) init_buffering_time, 1.0, // low percent player->ini.http_buffering_limit, // high percent - FALSE, + MUXED_BUFFER_TYPE_MEM_QUEUE, NULL, ((dur_bytes>0)?((guint64)dur_bytes):0)); } @@ -7389,7 +7393,7 @@ __mmplayer_gst_create_pipeline(mm_player_t* player) // @ pre_buffering_time, 1.0, player->ini.http_buffering_limit, - FALSE, + MUXED_BUFFER_TYPE_MEM_QUEUE, NULL, 0); } @@ -11324,7 +11328,6 @@ __mmplayer_try_to_plug_decodebin(mm_player_t* player, GstPad *srcpad, const GstC GstPad* qsrcpad= NULL; gchar *caps_str = NULL; gint64 dur_bytes = 0L; - gboolean use_file_buffer = FALSE; guint max_buffer_size_bytes = 0; gdouble init_buffering_time = (gdouble)player->streamer->buffering_req.initial_second; @@ -11367,24 +11370,29 @@ __mmplayer_try_to_plug_decodebin(mm_player_t* player, GstPad *srcpad, const GstC goto ERROR; } - // if ( !MMPLAYER_IS_HTTP_LIVE_STREAMING(player)) - { - if ( !gst_element_query_duration(player->pipeline->mainbin[MMPLAYER_M_SRC].gst, GST_FORMAT_BYTES, &dur_bytes)) - LOGE("fail to get duration.\n"); + if ( !gst_element_query_duration(player->pipeline->mainbin[MMPLAYER_M_SRC].gst, GST_FORMAT_BYTES, &dur_bytes)) + LOGE("fail to get duration.\n"); - LOGD("dur_bytes = %lld\n", dur_bytes); + LOGD("dur_bytes = %lld\n", dur_bytes); - if (dur_bytes > 0) - use_file_buffer = MMPLAYER_USE_FILE_FOR_BUFFERING(player); - else - dur_bytes = 0; + muxed_buffer_type_e type = MUXED_BUFFER_TYPE_MEM_QUEUE; + + if (dur_bytes > 0) { + if (MMPLAYER_USE_FILE_FOR_BUFFERING(player)) { + type = MUXED_BUFFER_TYPE_FILE; + } else { + type = MUXED_BUFFER_TYPE_MEM_RING_BUFFER; + player->streamer->ring_buffer_size = player->ini.http_ring_buffer_size; + } + } else { + dur_bytes = 0; } /* NOTE : we cannot get any duration info from ts container in case of streaming */ // if(!g_strrstr(GST_ELEMENT_NAME(sinkelement), "mpegtsdemux")) if(!g_strrstr(player->type, "video/mpegts")) { - max_buffer_size_bytes = (use_file_buffer)?(player->ini.http_max_size_bytes):(5*1024*1024); + max_buffer_size_bytes = (type == MUXED_BUFFER_TYPE_FILE)?(player->ini.http_max_size_bytes):(5*1024*1024); LOGD("max_buffer_size_bytes = %d\n", max_buffer_size_bytes); __mm_player_streaming_set_queue2(player->streamer, @@ -11394,8 +11402,8 @@ __mmplayer_try_to_plug_decodebin(mm_player_t* player, GstPad *srcpad, const GstC player->ini.http_buffering_time, 1.0, // no meaning player->ini.http_buffering_limit, // no meaning - use_file_buffer, - player->ini.http_file_buffer_path, + type, + player->http_file_buffer_path, (guint64)dur_bytes); } @@ -12674,6 +12682,22 @@ ERROR: return; } +int _mmplayer_set_temp_file_path(MMHandleType hplayer, const char* file_path) +{ + int result = MM_ERROR_NONE; + mm_player_t* player = (mm_player_t*) hplayer; + MMPLAYER_FENTER(); + + MMPLAYER_RETURN_VAL_IF_FAIL (player, MM_ERROR_PLAYER_NOT_INITIALIZED); + + if (file_path) { + player->http_file_buffer_path = (gchar*)file_path; + LOGD("temp file path: %s\n", player->http_file_buffer_path); + } + MMPLAYER_FLEAVE(); + return result; +} + int _mmplayer_set_uri(MMHandleType hplayer, const char* uri) { int result = MM_ERROR_NONE; @@ -13897,7 +13921,7 @@ const char *padname, const GList *templlist) if (MMPLAYER_IS_HTTP_STREAMING(player)) { gint64 dur_bytes = 0L; - gboolean use_file_buffer = FALSE; + muxed_buffer_type_e type = MUXED_BUFFER_TYPE_MEM_QUEUE; if ( !mainbin[MMPLAYER_M_MUXED_S_BUFFER].gst) { @@ -13941,10 +13965,17 @@ const char *padname, const GList *templlist) if ( !gst_element_query_duration(player->pipeline->mainbin[MMPLAYER_M_SRC].gst, GST_FORMAT_BYTES, &dur_bytes)) LOGE("fail to get duration.\n"); - if (dur_bytes > 0) - use_file_buffer = MMPLAYER_USE_FILE_FOR_BUFFERING(player); - else + if (dur_bytes > 0) { + if (MMPLAYER_USE_FILE_FOR_BUFFERING(player)) { + type = MUXED_BUFFER_TYPE_FILE; + } else { + type = MUXED_BUFFER_TYPE_MEM_RING_BUFFER; + if (player->streamer) + player->streamer->ring_buffer_size = player->ini.http_ring_buffer_size; + } + } else { dur_bytes = 0; + } } /* NOTE : we cannot get any duration info from ts container in case of streaming */ @@ -13957,8 +13988,8 @@ const char *padname, const GList *templlist) player->ini.http_buffering_time, 1.0, player->ini.http_buffering_limit, - use_file_buffer, - player->ini.http_file_buffer_path, + type, + player->http_file_buffer_path, (guint64)dur_bytes); } } diff --git a/src/mm_player_streaming.c b/src/mm_player_streaming.c index 6f49d5a..cf2cdc4 100644 --- a/src/mm_player_streaming.c +++ b/src/mm_player_streaming.c @@ -22,7 +22,6 @@ #include #include -#include #include "mm_player_utils.h" #include "mm_player_streaming.h" @@ -50,7 +49,7 @@ typedef struct{ 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_queue2_queue_type (mm_player_streaming_t* streamer, gboolean use_file, gchar * file_path, guint64 content_size); +static void streaming_set_queue2_queue_type (mm_player_streaming_t* streamer, muxed_buffer_type_e type, gchar * file_path, guint64 content_size); static void streaming_set_buffer_size(mm_player_streaming_t* streamer, BufferType type, guint buffering_bytes, gdouble buffering_time); static void streaming_update_buffering_status(mm_player_streaming_t* streamer, GstMessage *buffering_msg, gint64 position); static void streaming_get_current_bitrate_info( mm_player_streaming_t* streamer, @@ -137,6 +136,7 @@ void __mm_player_streaming_initialize (mm_player_streaming_t* streamer) streamer->is_adaptive_streaming = FALSE; streamer->buffering_percent = -1; + streamer->ring_buffer_size = DEFAULT_RING_BUFFER_SIZE; MMPLAYER_FLEAVE(); return; } @@ -169,6 +169,7 @@ void __mm_player_streaming_deinitialize (mm_player_streaming_t* streamer) streamer->is_adaptive_streaming = FALSE; streamer->buffering_percent = -1; + streamer->ring_buffer_size = DEFAULT_RING_BUFFER_SIZE; MMPLAYER_FLEAVE(); return; @@ -340,11 +341,11 @@ streaming_set_buffer_percent( mm_player_streaming_t* streamer, } static void -streaming_set_queue2_queue_type (mm_player_streaming_t* streamer, gboolean use_file, gchar * file_path, guint64 content_size) +streaming_set_queue2_queue_type (mm_player_streaming_t* streamer, muxed_buffer_type_e type, gchar * file_path, guint64 content_size) { streaming_buffer_t* buffer_handle = NULL; guint64 storage_available_size = 0L; //bytes - guint64 file_buffer_size = 0L; //bytes + guint64 buffer_size = 0L; //bytes gchar file_buffer_name[MM_MAX_URL_LEN] = {0}; struct statfs buf = {0}; gchar* factory_name = NULL; @@ -377,50 +378,49 @@ streaming_set_queue2_queue_type (mm_player_streaming_t* streamer, gboolean use_f return; } - if ((!use_file) || (!g_strrstr(factory_name, "queue2"))) + if ((type == MUXED_BUFFER_TYPE_MEM_QUEUE) || (!g_strrstr(factory_name, "queue2"))) { - LOGD("use memory for buffering. streaming is played on push-based. \n" + LOGD("use memory queue for buffering. streaming is played on push-based. \n" "buffering position would not be updated.\n" "buffered data would be flushed after played.\n" "seeking and getting duration could be failed due to file format."); return; } - LOGD("[Queue2] use file for buffering. streaming is played on pull-based. \n"); + LOGD("[Queue2] buffering type : %d. streaming is played on pull-based. \n", type); + if (type == MUXED_BUFFER_TYPE_FILE && file_path && strlen(file_path)>0) { + if (statfs((const char *)file_path, &buf) < 0) + { + LOGW ("[Queue2] fail to get available storage capacity. set mem ring buffer instead of file buffer.\n"); + buffer_size = (guint64)((streamer->ring_buffer_size>0)?(streamer->ring_buffer_size):DEFAULT_RING_BUFFER_SIZE); + } + else + { + storage_available_size = (guint64)buf.f_bavail * (guint64)buf.f_bsize; //bytes - if (!file_path || strlen(file_path) <= 0) - file_path = (gchar *)tzplatform_getenv(TZ_SYS_DATA); + LOGD ("[Queue2] the number of available blocks : %"G_GUINT64_FORMAT + ", the block size is %"G_GUINT64_FORMAT".\n", + (guint64)buf.f_bavail, (guint64)buf.f_bsize); - if (statfs((const char *)file_path, &buf) < 0) - { - LOGW ("[Queue2] fail to get availabe storage capacity. just use file buffer.\n"); - file_buffer_size = 0L; - } - else - { - storage_available_size = (guint64)buf.f_bavail * (guint64)buf.f_bsize; //bytes + LOGD ("[Queue2] calculated available storage size is %" + G_GUINT64_FORMAT" Bytes.\n", storage_available_size); - LOGD ("[Queue2] the number of available blocks : %"G_GUINT64_FORMAT - ", the block size is %"G_GUINT64_FORMAT".\n", - (guint64)buf.f_bavail, (guint64)buf.f_bsize); + if (content_size <= 0 || content_size >= storage_available_size) + buffer_size = storage_available_size; + else + buffer_size = 0L; - LOGD ("[Queue2] calculated availabe storage size is %" - G_GUINT64_FORMAT" Bytes.\n", storage_available_size); + g_snprintf(file_buffer_name, MM_MAX_URL_LEN, "%sXXXXXX", file_path); + SECURE_LOGD("[Queue2] the buffering file name is %s.\n", file_buffer_name); - if (content_size <= 0 || content_size >= storage_available_size) - file_buffer_size = storage_available_size; - else - file_buffer_size = 0L; + g_object_set (G_OBJECT(buffer_handle->buffer), "temp-template", file_buffer_name, NULL); + } + } else { + buffer_size = (guint64)((streamer->ring_buffer_size>0)?(streamer->ring_buffer_size):DEFAULT_RING_BUFFER_SIZE); } - if (file_buffer_size>0) - LOGD("[Queue2] use file ring buffer for buffering."); - - g_snprintf(file_buffer_name, MM_MAX_URL_LEN, "%s/XXXXXX", file_path); - SECURE_LOGD("[Queue2] the buffering file name is %s.\n", file_buffer_name); - - g_object_set (G_OBJECT(buffer_handle->buffer), "temp-template", file_buffer_name, NULL); - g_object_set (G_OBJECT(buffer_handle->buffer), "ring-buffer-max-size", file_buffer_size, NULL); + 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); MMPLAYER_FLEAVE(); return; @@ -493,7 +493,7 @@ void __mm_player_streaming_set_queue2( mm_player_streaming_t* streamer, gdouble buffering_time, gdouble low_percent, gdouble high_percent, - gboolean use_file, + muxed_buffer_type_e type, gchar* file_path, guint64 content_size) { @@ -531,7 +531,7 @@ void __mm_player_streaming_set_queue2( mm_player_streaming_t* streamer, 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_queue2_queue_type (streamer, use_file, file_path, content_size); + streaming_set_queue2_queue_type (streamer, type, file_path, content_size); MMPLAYER_FLEAVE(); return;