[Bug 743905] multiqueue: handle the BUFFERING query

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Aug 6 23:42:14 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=743905

--- Comment #4 from Duncan Palmer <dpalmer at digisoft.tv> ---
Hi Thiago, no worries on the late reply.

The use case I'm trying to hit;

- I have a pipeline for playing back HLS, created by uridecodebin. This has a
multiqueue element which decodebin configures for buffering (I set the
uridecodebin buffer-duration property). This element emits BUFFERING messages
during playback.
- Our software has a module which creates the pipeline, and once it's reached
the paused state, it hands it over to another module. This second module
subscribes for messages from the pipeline, and then uses a buffering query to
determine what the current buffering state is.
- Seeing as queue2 supports the buffering query, I thought it would also make
sense to have the multiqueue support it; my thinking was that both elements
support buffering, so why not support the buffering query in both.

It's worth noting that the multiqueue will only respond to a buffering query if
it's configured to buffer.

In the case of ABR content, I think it makes sense to buffer using the
multiqueue, with the queue size specified in units of time; see as we're
adaptive, there's no point buffering in a queue2 element by units of time
(since it has no useful notion of time with ABR content), or by units of bytes,
since we don't know in advance what our likely bitrate will be. Would you
agree?

We also support streaming over http (progressive download). In this case,
decodebin adds a queue2, and configures it, instead of the multiqueue, for
buffering. This is fine, and everything works as it should. The multiqueue
doesn't reply to buffering queries since it's not configured to buffer.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list