aggregator: Reset EOS flag after receiving a stream-start event
authorSebastian Dröge <sebastian@centricular.com>
Mon, 18 Jul 2022 12:46:21 +0000 (15:46 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 18 Jul 2022 12:46:21 +0000 (15:46 +0300)
commit205034dea9dfa85436288d08770a434d984a73e9
tree3a81c54a33233f998899284ea38c39163bcf65c6
parent687f9feac62a70f6449915681bc48c243c0109cc
aggregator: Reset EOS flag after receiving a stream-start event

And also don't assert that there are no buffers queued up when handling
an EOS event. The pad's streaming thread might've already received a new
stream-start event and queued up a buffer in the meantime.

This still leaves a race condition where the srcpad task sees all pads
in EOS state and finishes the stream, while shortly afterwards a pad
might receive a stream-start event again, but this doesn't seem to be
solveable with the current aggregator design.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2769>
subprojects/gstreamer/libs/gst/base/gstaggregator.c