-
Tim-Philipp Müller authored
Make sure to send a CAPS event downstream when we get our first input caps. This fixes not-negotiated errors and adder use with downstream elements other than fakesink. Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now. Also, flag the other sink pads as FIXED_CAPS when we receive the first CAPS event on one of the sink pads (in addition to setting those caps on the the sink pads), so that a caps query will just return the fixed caps from now on. There's still a race between other upstreams checking if caps are accepted and sending a first buffer with possibly different caps than the first caps we receive on some other pad, but such is life. Also need to take into account optional fields better/properly. https://bugzilla.gnome.org/show_bug.cgi?id=679545
24478261