summaryrefslogtreecommitdiff
path: root/gst/playback/gstdecodebin2.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2014-04-09 16:03:15 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-04-09 16:06:06 +0200
commit2c2e286c382e99fc6e85aedd21aac706ade3da73 (patch)
treefe48d273ab77c6457bdf2dcd54f52573a7212d62 /gst/playback/gstdecodebin2.c
parent4a81605d02fa2dc2b7276bc72007d6a8920f04a3 (diff)
decodebin: In adaptive streaming mode, only have a fixed buffer limit for the non-buffering multiqueue
Diffstat (limited to 'gst/playback/gstdecodebin2.c')
-rw-r--r--gst/playback/gstdecodebin2.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index b7628ed62..3b5d45610 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -3201,6 +3201,14 @@ decodebin_set_queue_size (GstDecodeBin * dbin, GstElement * multiqueue,
max_time = seekable ? AUTO_PREROLL_SEEKABLE_SIZE_TIME :
AUTO_PREROLL_NOT_SEEKABLE_SIZE_TIME;
}
+ } else if (adaptive_streaming && dbin->use_buffering) {
+ /* If we're doing adaptive streaming and this is *not*
+ * the multiqueue doing the buffering messages, we only
+ * want a buffers limit here
+ */
+ max_buffers = AUTO_PLAY_ADAPTIVE_SIZE_BUFFERS;
+ max_time = 0;
+ max_bytes = 0;
} else {
/* update runtime limits. At runtime, we try to keep the amount of buffers
* in the queues as low as possible (but at least 5 buffers). */
@@ -3212,9 +3220,7 @@ decodebin_set_queue_size (GstDecodeBin * dbin, GstElement * multiqueue,
* a lower number of buffers as they are usually very
* large */
if ((max_buffers = dbin->max_size_buffers) == 0)
- max_buffers =
- (adaptive_streaming ? AUTO_PLAY_ADAPTIVE_SIZE_BUFFERS :
- AUTO_PLAY_SIZE_BUFFERS);
+ max_buffers = AUTO_PLAY_SIZE_BUFFERS;
/* this is a multiqueue with disabled buffering, don't limit max_time */
if (dbin->use_buffering)
max_time = 0;