decodebin3: only force streams-selected seqnum after a select-streams

The initial streams-selected message might not match any select-streams,
in which case it is currently overriden with GST_SEQNUM_INVALID.

Related to:

- https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/860>
This commit is contained in:
François Laignel 2020-10-10 17:26:42 +02:00
parent a6ed17c273
commit 40fde5fcad

View file

@ -1625,7 +1625,9 @@ is_selection_done (GstDecodebin3 * dbin)
/* We are completely active */
msg = gst_message_new_streams_selected ((GstObject *) dbin, dbin->collection);
GST_MESSAGE_SEQNUM (msg) = dbin->select_streams_seqnum;
if (dbin->select_streams_seqnum != GST_SEQNUM_INVALID) {
gst_message_set_seqnum (msg, dbin->select_streams_seqnum);
}
for (tmp = dbin->output_streams; tmp; tmp = tmp->next) {
DecodebinOutputStream *output = (DecodebinOutputStream *) tmp->data;
if (output->slot) {