GNOME Bugzilla – Bug 766719
v4l2transform: Does not fully fixate the caps
Last modified: 2016-06-07 21:22:20 UTC
The new fixate function does not fixate the format and the colorimetry. I have started a patch, though for the colorimetry we probably want some logic that binds to the video resolution rather then picking the first downstream supported one in case downstream simply didn't specified this.
Reproducing is really easy (if you have the hw): videotestsrc ! v4l2videoMtransform ! fakesink
Created attachment 328264 [details] [review] gstv4l2transform: format fixation for preferring passthrough * If outgoing format is unfixated, try to set it to input format. * Call gst_caps_fixate () at end of fixation routine
Review of attachment 328264 [details] [review]: Looks good to me, the extra code to fixate to input format seems useful considering we also do scaling. In videoconvert they got one extra step which I don't yet understand: + if (direction == GST_PAD_SINK) { + if (gst_caps_is_subset (caps, othercaps)) { + gst_caps_replace (&othercaps, caps); + } + } I'd like to know why they do that and if we should be doing the same here.
Is this related to https://bugzilla.gnome.org/show_bug.cgi?id=748141 ?
Review of attachment 328264 [details] [review]: commit 5829f32
Should go in 1.8, as it fixes a regression, I had added the other change as a separate patch. commit f9e01a5
*** Bug 766588 has been marked as a duplicate of this bug. ***
Branch: 1.8 Commit: bca2655f4a38a6a6dd06dd7ee22d80c9e1b2591e