mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 05:01:23 +00:00
decodebin3: New mechanism for handling collection and selections
This commit separates collection and selections into a new separate structure: DecodebinCollection. This provides a much cleaner/saner way of dealing with collections being updated, gapless playback, etc... There is now a list of DecodebinCollection in flight, of which two are special: * input_collection, the currently inputted/merged collection * output_collection, the currently active collection on the output of multiqueue Handling GST_EVENT_SELECT_STREAMS is split, by looking for the collection to which it applies. And the requested streams are stored in it. IIF that collection is output_collection we can do the switch, else it will be updated when it becomes active. Detecting which collection/selection is active is done by looking at the GST_EVENT_STREAM_START on the output of the multiqueue. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7002>
This commit is contained in:
parent
abb2a46787
commit
230d0bf978
1 changed files with 430 additions and 269 deletions
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue