[Bug 733827] v4l2videodec: Add pixel format negotiation support
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri Mar 27 05:03:19 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=733827
--- Comment #5 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
(In reply to Philipp Zabel from comment #4)
> Currently I have not implemented ENUM_FMT(CAP) returning only a limited
> selection after STREAMON(OUT), mostly because only JPEG decoding (not
> mainline ready yet) needs it. S_FMT/TRY_FMT(CAP) limit the size to a single
> setting.
I'm not sure what this change will give you then. Can you explain the initial
problem ?
>
> Would your suggestin be to clear the cache not before calling
> gst_v4l2_object_get_caps(v4l2capture), but instead after
> gst_buffer_pool_set_active(v4l2output->pool)? That's where the JPEG decoder
> will know whether it was fed 4:2:2 or 4:2:0 subsampled JPEG images, just a
> few lines above.
I think you should cache two things. The probed caps for this OUTPUT format,
and keep the probed_caps for this device. And simply use the right one when
needed. You could have a new method probe_caps() that ignores the cache. It's
not clear to me if the existing driver will return return something different
when probed, in which case the resulting intersection with downstream caps may
and blind fixate may result in a failing set_format(). We need to check that,
not only for CODA.
>
> Should I add back the call to gst_v4l2_object_acquire_format(v4l2capture)
> and then use the returned width and height to limit the filter like the
> framerate?
This element is currently the only user of this method. You could pass the
queried downstream caps and make it negotiate somehow. This would help to avoid
unwanted side effects.
--
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