More advanced buffering control in uridecodebin
Carlos Rafael Giani
dv at pseudoterminal.org
Wed Aug 26 01:21:22 PDT 2015
I need some suggestions for more fine grained control over the buffering
that uridecodebin uses.
I am now referring to the queue2 that is used when the source element
has one simple sourcepad. (For example, rtpsrc produces sometimes-pads
for audio, video separately, and uses multiqueues instead). Existing
uridecodebin properties allow for setting size and duration limits, as
well as the low/high buffer watermarks. However, it does not allow for
reconfiguring these properties on the fly (setting them during playback
will do nothing). Furthermore, it is not possible to access the current
buffer fill level (= the current-size-bytes property of queue2).
However, I do want to be able to do that to allow for a more
sophisticated buffer management. If for example playback has to pause
frequently to fill the queue, then raising the limits would perhaps make
sense. If on the other hand the buffering period is deemed too large, it
can be reduced, until an optimum is reached.
Right now, I simply look for an element with a name that starts with
"queue" inside uridecodebin. However, that is far from clear. Any
suggestions on how this could be done better?
Plus, improved buffer controls would also be a suggestion for any future
"uridecodebin2".
More information about the gstreamer-devel
mailing list