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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Sep 18 06:12:33 PDT 2012


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

--- Comment #4 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2012-09-18 13:12:29 UTC ---
The custom accept caps is useless indeed, I had the video info init fix too in
my branch ;) This seems to be one issue, but there is a bigger one, which is a
race. Bascially, when you have more then 1 source, all negotiation happens in
parallel. This mean they may all get the most generic caps out of query_caps
before one caps get set. This is because the negotiation is not atomic (up to 3
separate operations, query_caps, query_acceptcaps, event_caps). And to make it
worst, the setcaps operation in that element lock/unlock 3 times (leaving more
room for races). This cannot be fully fixed in the actual design, instead we
have to detect such race (uppon caps event) and send reconfigure. We could also
consider querying upstream caps as return value of query_caps.

-- 
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