videoaggregator: Guarantee that the output format is supported
authorThibault Saunier <tsaunier@igalia.com>
Fri, 30 Oct 2020 16:56:16 +0000 (13:56 -0300)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 3 Nov 2020 00:10:31 +0000 (00:10 +0000)
commitd268c193ad39fb970351ed62898be806ebd0a71e
tree2269718283b672060740ea139cd5b0599f434f56
parent660b5e4a9864b843c3bc26cd6cdf7b42192f1f36
videoaggregator: Guarantee that the output format is supported

In the case `videoaggregator` is set as allowing format conversions,
and as we convert only on the sinkpads, we should ensure that the
chosen format is usable by the subclass. This in turns implies
that the format is usable on the srcpad.

When doing conversion *any* format can be used on the sinkpads, and this
is the only way that we can avoid race conditions during renegotiations
so we can not change that fact, we just need to ensure that the chosen
intermediary format is usable, which was not actually ensured before
that patch.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/834

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/909>
docs/plugins/gst_plugins_cache.json
gst-libs/gst/video/gstvideoaggregator.c
gst/compositor/compositor.c
tests/check/elements/compositor.c
tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest [new file with mode: 0644]
tests/validate/meson.build