[Bug 684237] videomixer: Caps negotiation does not always work

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat May 18 16:38:10 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=684237
  GStreamer | gst-plugins-good | git

--- Comment #40 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2013-05-18 23:38:03 UTC ---
>> running
>>    while gst-launch-1.0 videotestsrc num-buffers=1 ! mix. videotestsrc \
>>    num-buffers=1 ! alpha alpha=0.5 ! mix. videotestsrc num-buffers=1 ! mix.\
>>    videomixer name=mix ! videoconvert ! xvimagesink; do echo "hey"; done
> never fails here, could you please send a full debug log to see where it fails

It's a not-negotiated error. This appens in the case the videotestsrc that has
no required alpha terminate it's negotiation (sends set caps event) before the
one that required alpha. In this case, the new allowed caps become non-alpha
fixed caps and the second element fails calling accept caps. I don't see in
your patch any code that handle this (if it can be handled at all, latest talk
with Sebastian was that there was no solution in 1.0).

In this scenario, the renegotiate event will only be useful if the selected
caps has alpha and a non-alpha EVENT comes in, but I think it's useful.
Bascially, it saves the day in many cases, but it's not yet a full control over
that negotiation process.

Though, it's clear that you patches enable more use case most of the time. I'd
suggest bringing your patches here, so we have all of them in one place. I'll
try to rebase and cleanup the patches pending here. Patch "Consider upstream
caps in getcaps" will be dropped, this has been discussed intensively at the
hackfest and Sebastian showed that it may do more bad then good in large
pipelines.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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