+ if (g_strrstr(klass, "Adaptive")) {
+ player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].id = MMPLAYER_M_ADAPTIVE_DEMUX;
+ player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst = element;
+
+ MMPLAYER_FREEIF(player->type_caps_str);
+
+ if (g_strrstr(factory_name, "hlsdemux")) {
+ player->type_caps_str = g_strdup("application/x-hls");
+ player->profile.uri_type = MM_PLAYER_URI_TYPE_HLS;
+ } else if (g_strrstr(factory_name, "dashdemux")) {
+ player->type_caps_str = g_strdup("application/dash+xml");
+ player->profile.uri_type = MM_PLAYER_URI_TYPE_DASH;
+ } else {
+ LOGE("not supported type");
+ return;
+ }
+ player->streamer->is_adaptive_streaming = TRUE;
+
+ if (player->streamer->buffering_req.prebuffer_time <= MIN_BUFFERING_TIME)
+ player->streamer->buffering_req.prebuffer_time = DEFAULT_PREBUFFERING_TIME;
+
+ LOGD("max variant limit: %d, %d, %d, prebuffer time: %d ms",
+ player->adaptive_info.limit.bandwidth,
+ player->adaptive_info.limit.width,
+ player->adaptive_info.limit.height,
+ player->streamer->buffering_req.prebuffer_time);
+
+ g_object_set(player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst,
+ "max-bitrate", player->adaptive_info.limit.bandwidth,
+ "max-video-width", player->adaptive_info.limit.width,
+ "max-video-height", player->adaptive_info.limit.height,
+ "low-watermark-time", (guint64)(player->streamer->buffering_req.prebuffer_time * GST_MSECOND),
+ NULL);
+ } else {