[Bug 733827] v4l2videodec: Add pixel format negotiation support

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Apr 1 13:18:29 PDT 2015


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

--- Comment #17 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
I think in this case, an older kernel will fail because you will pick from a
list of formats that have not been reduced. We can't change the spec and then
say all driver are broken. So it should never fail and be backward compatible.
So no, it's not strictly driver fault.

I've been searching a bit, and it seems that proper way to negotiate here is to
create a caps from the acquired format (will be a single structure fix caps).
Remove the format field from the caps and use that as a filter when doing the
caps query. Now, what you'll get is a list of structure, with format field
fixated or note, but within the set you have passed. You can then take the
first structure and fixate (use the acquired format passed to
fixate_nearest_int(), this will ensure we keep driver preferred. 

>From these caps, you will set_format(), but on failure you should fallback to
what the driver initially proposed (not fail the pipeline like you do).

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