GNOME Bugzilla – Bug 704852
Videomixer fails to preroll when different formats are requested on its sink pads.
Last modified: 2013-07-25 10:02:09 UTC
As shown by : gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw, format=I420 ! videomixer name=m ! autovideosink videotestsrc ! videoconvert ! video/x-raw, format=RGBA ! m. videomixer goes in an infinite negotiation loop. That can be solved fairly easily I believe, but another problem arises: What shall videomixer do when for example a first pad is negotiated without an alpha channel, then a second one with alpha tries to negotiate ? It would be nice to have videomixer renegotiate the existing pads to respect alpha.
The first should be possible to fix quite easily, it should never go into an infinite loop but if nothing sensible can be done just error out. The second can be improved a bit by having videoconvert before each videomixer sinkpad. And then if something tries a wrong format and the other upstreams would support that wrong format, try to renegotiate them and wait. Impossible to fix in general and without ever losing frames though. Also is a duplicate of bug #684237 *** This bug has been marked as a duplicate of bug 684237 ***