dashdemux: remove buffering message emission from dashdemux
authorThiago Santos <thiago.sousa.santos@collabora.com>
Fri, 1 Feb 2013 03:33:00 +0000 (00:33 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.com>
Wed, 8 May 2013 21:14:35 +0000 (18:14 -0300)
commit39924c60a11e7d31ee6d5bc78b41d47a96275cdb
tree5339b0dbbc869c9e245332f65b7889e1ceaa2d82
parent10b5d4d1cc7eb83d78e9d4d2da58ea1554ffbec4
dashdemux: remove buffering message emission from dashdemux

dashdemux shouldn't emit the buffering message as that can pause
the pipeline. It has no proper knowledge of the downstream buffering
status so it can pause the pipeline when it isn't necessary. It should
have an internal buffer for downloading the streams ahead of playback,
but that shouldn't make it able to stop the pipeline for buffering.

A particular case in which this is bad is when a pad switch happens
(changing bitrates for example), the new pads dashdemux creates
will get linked to demuxers and new queues will be created,
these queues are initially empty and dashdemux will quickly
drain its buffers by pushing them to those queues. So it
would have no more buffers internally and would emit a
buffering message with a low ratio, causing the pipeline
to pause when it wouldn't be necessary.
ext/dash/gstdashdemux.c
ext/dash/gstdashdemux.h