[Bug 646638] [API] need stream (de)activation API

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Nov 12 14:16:32 UTC 2016


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

Tim-Philipp Müller <t.i.m at zen.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|git master                  |1.10.0

--- Comment #18 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
I think many of the things discussed here are now implemented in principle with
the new GstStream API and playbin3/decodebin3, so I think I'll close this bug
and open new bugs with more narrow scope for specific issues.


> Something to keep in mind when designing/implementing this is that it should
> still be possible to have multiple streams of a subtype active at the same
> time, e.g to have audio descriptions for visually-impaired people mixed with
> a normal audio track, even if playbin does not support that yet.

The SELECT_STREAMS event API does support that now.


> Another thing currently missing is api to select a stream by stream-id. Apps
> that use discoverer and want to select a certain stream will need to connect
> to playbin::pad-added to build map<stream-id, index> for
> audio/video/subtitles.

The SELECT_STREAMS event API allows exactly that (takes list of stream IDs).


> ... three goals here:
> 
> 1) avoid parsing/decoding of data that's not being used

playbin3/decodebin3 will not decode data that's not being used. There may be
bugs with selecting and unselecting of streams, but those are implementation
bugs and we should file separate bugs for those as we run into them. We
currently can't just disable the video in playbin3 for example, it will do it
but then it will freeze up shortly after. But from an API/design perspective
this is fixed as far as I'm concerned.


> 2) ideally avoid reading and demuxing data that's not going to
>      be decoded or used (where possible, e.g. in qtdemux)

Reading/parsing/demuxing. We need to read/demux/parse streams we may want to
switch to at short notice. However, we should not read/demux/parse streams that
we know are never going to be used. For this we need new stream deactivation
API similar to the SELECT_STREAMS event. I will create a new bug for that.


> 3) make stream switching better/smoother/faster

Should be fixed with playbin3/decodebin3.

-- 
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