#define DEFAULT_PCM_OUT_SAMPLERATE 44100
#define DEFAULT_PCM_OUT_CHANNEL 2
+#define MQ_UNLINKED_CACHE_TIME (500 * GST_MSECOND)
+
/*---------------------------------------------------------------------------
| LOCAL CONSTANT DEFINITIONS: |
---------------------------------------------------------------------------*/
MMPLAYER_RETURN_IF_FAIL(player && tf && caps);
- MMPLAYER_LOG_GST_CAPS_TYPE(caps);
MMPLAYER_FREEIF(player->type_caps_str);
player->type_caps_str = gst_caps_to_string(caps);
- if (player->type_caps_str)
- LOGD("[handle: %p] media type %s found, probability %d%% / %d",
- player, player->type_caps_str, probability, gst_caps_get_size(caps));
+ LOGD("[handle: %p] media type %s found, probability %d%% / %d",
+ player, player->type_caps_str, probability, gst_caps_get_size(caps));
if ((!MMPLAYER_IS_RTSP_STREAMING(player)) &&
(g_strrstr(player->type_caps_str, "audio/x-raw-int"))) {
player->streamer->buffering_req.prebuffer_time);
g_object_set(player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst,
- "max-bandwidth", player->adaptive_info.limit.bandwidth,
+ "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),
}
} else if ((player->pipeline->mainbin[MMPLAYER_M_DEMUX].gst) &&
(g_strrstr(GST_ELEMENT_NAME(element), "multiqueue"))) {
+
LOGD("plugged element is multiqueue. take it %s", GST_ELEMENT_NAME(element));
+ /* set mq unlinked cache size to avoid not-linked error */
+ gboolean sync_by_running_time = FALSE;
+ g_object_get(G_OBJECT(element), "sync-by-running-time", &sync_by_running_time, NULL);
+ if (sync_by_running_time)
+ g_object_set(G_OBJECT(element), "unlinked-cache-time", MQ_UNLINKED_CACHE_TIME, NULL);
+
player->pipeline->mainbin[MMPLAYER_M_DEMUXED_S_BUFFER].id = MMPLAYER_M_DEMUXED_S_BUFFER;
player->pipeline->mainbin[MMPLAYER_M_DEMUXED_S_BUFFER].gst = element;
player = (mmplayer_t *)hplayer;
MMPLAYER_RETURN_VAL_IF_FAIL(player, MM_ERROR_PLAYER_NOT_INITIALIZED);
+ MMPLAYER_RETURN_VAL_IF_FAIL(type < MM_PLAYER_TRACK_TYPE_MAX, MM_ERROR_PLAYER_NOT_INITIALIZED);
if (!player->pipeline) {
LOGE("Track %d pre setting -> %d", type, index);
if (player->pipeline && player->pipeline->mainbin && player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst) {
LOGD("update max limit of %s", GST_ELEMENT_NAME(player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst));
g_object_set(player->pipeline->mainbin[MMPLAYER_M_ADAPTIVE_DEMUX].gst,
- "max-bandwidth", bandwidth, "max-video-width", width, "max-video-height", height, NULL);
+ "max-bitrate", bandwidth, "max-video-width", width, "max-video-height", height, NULL);
/* FIXME: seek to current position for applying new variant limitation */
}