After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 766719 - v4l2transform: Does not fully fixate the caps
v4l2transform: Does not fully fixate the caps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.8.2
Other Linux
: Normal normal
: 1.8.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 766588 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-05-20 14:07 UTC by Nicolas Dufresne (ndufresne)
Modified: 2016-06-07 21:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gstv4l2transform: format fixation for preferring passthrough (1.34 KB, patch)
2016-05-20 14:55 UTC, Philipp Zabel
committed Details | Review

Description Nicolas Dufresne (ndufresne) 2016-05-20 14:07:09 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.
Comment 1 Nicolas Dufresne (ndufresne) 2016-05-20 14:17:14 UTC
Reproducing is really easy (if you have the hw):

  videotestsrc ! v4l2videoMtransform ! fakesink
Comment 2 Philipp Zabel 2016-05-20 14:55:34 UTC
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
Comment 3 Nicolas Dufresne (ndufresne) 2016-05-20 17:57:01 UTC
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.
Comment 4 Philipp Zabel 2016-05-23 10:48:55 UTC
Is this related to https://bugzilla.gnome.org/show_bug.cgi?id=748141 ?
Comment 5 Nicolas Dufresne (ndufresne) 2016-06-06 22:00:49 UTC
Review of attachment 328264 [details] [review]:

commit 5829f32
Comment 6 Nicolas Dufresne (ndufresne) 2016-06-06 22:01:32 UTC
Should go in 1.8, as it fixes a regression, I had added the other change as a separate patch.

commit f9e01a5
Comment 7 Nicolas Dufresne (ndufresne) 2016-06-07 18:32:56 UTC
*** Bug 766588 has been marked as a duplicate of this bug. ***
Comment 8 Nicolas Dufresne (ndufresne) 2016-06-07 21:22:20 UTC
Branch: 1.8
Commit: bca2655f4a38a6a6dd06dd7ee22d80c9e1b2591e