[Bug 757610] New: compositor: negotation failure when mixing alpha and non alpha branches

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Nov 4 13:12:40 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=757610

            Bug ID: 757610
           Summary: compositor: negotation failure when mixing alpha and
                    non alpha branches
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: philippe_renon at yahoo.fr
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

The fix for https://bugzilla.gnome.org/show_bug.cgi?id=754465 has introduced
what I believe is a regression.

The alpha logic change that was committed breaks the following pipeline:

compositor name=mixer ! videoconvert ! autovideosink \
ksvideosrc ! queue ! mixer. \
udpsrc port=9000 ! textrender ! videorate drop-only=true ! video/x-raw,
framerate=10/1 ! queue ! mixer. 

To be correct, the pipeline breaks if the ksvideosrc is the first to push a
frame to the compositor.
In that case, the textrender fails to negotiate because all alpha format are
filtered out.
If the textrender is the first to push a frame, then the pipeline works.

If I revert the fix then the pipeline always works no matter which branch first
reaches the compositor.

Note that if I remove the downstream videoconvert, then the pipeline fails
again but when the textrender is first…
But this is expected and documented :
        ("At least one of the input pads contains alpha, but downstream can't
support alpha."),
        ("Either convert your inputs to not contain alpha or add a videoconvert
after the aggregator"));

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list