GstStreams: stream selection based on upstream collection change vs. preference change

Krzysztof Konopko krzysztof.konopko at konagma.eu
Fri Jun 28 14:21:40 UTC 2019


Hi,

I'm looking into using GstStreams API.  After reading the docs [1],
attending some conference talks [2] on this subject and implementing
some code, there are still some use cases that are unclear to me which
mainly boil down to a question whether to drain a pad or flush it on a
change.

It's also partially one of the open questions in [1]:

> Is a FLUSHING flag for stream-selection required or not? This would
> make the handler of the SELECT_STREAMS event send FLUSH START/STOP   
> before switching to the other streams. This is tricky when dealing   
> where situations where we keep some streams and only switch some
> others. Do we flush all streams? Do we only flush the new streams,
> potentially resulting in delay to fully switch? [...]

Are there any thought on this recently?

I was also wondering:

* upstream changes (eg. PAT/PMT change, stream disappearing)

Removed pad should be presumably drained with EOS?  An app would need
to be prepared for this also when it receives EOS message (unlink the
pad and remove any elements connected)?

* app (user) changes

These need to be instantaneous so pads should be flushed?



[1] 
https://gstreamer.freedesktop.org/documentation/design/stream-selection.html?gi-language=c
[2] 
https://gstreamer.freedesktop.org/conference/2018/talks-and-speakers.html#streams-and-collections
https://gstreamer.freedesktop.org/conference/2016/talks-and-speakers.html#new-stream-api



More information about the gstreamer-devel mailing list