diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-04-09 16:03:15 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-04-09 16:06:06 +0200 |
commit | 2c2e286c382e99fc6e85aedd21aac706ade3da73 (patch) | |
tree | fe48d273ab77c6457bdf2dcd54f52573a7212d62 /gst/playback/gstdecodebin2.c | |
parent | 4a81605d02fa2dc2b7276bc72007d6a8920f04a3 (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.c | 12 |
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; |