[gstreamer-bugs] [Bug 485828] [v4l2src] Fixates to lowest resolution on new kernels

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sat Oct 13 05:04:32 PDT 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=485828

  GStreamer | gst-plugins-good | Ver: HEAD CVS

Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
          Component|don't know                  |gst-plugins-good
         Resolution|                            |FIXED
            Summary|Bad image quality from      |[v4l2src] Fixates to lowest
                   |webcam.                     |resolution on new kernels
   Target Milestone|HEAD                        |0.10.7




------- Comment #8 from Tim-Philipp Müller  2007-10-13 12:04 UTC -------
This is a problem with the way the caps are probed and fixated.  v4l2src in CVS
(and gutsy) seems to use a new API to query the supported sizes on new kernels
and falls back to another API on older kernels.  This results in the caps
looking differently and fixation being done in a different way: with the old
API we end up with a range for width/height, so fixation will just fixate to
the biggest size, while with the new API we get a different structure in the
caps for every supported size, and fixation will just pick the first structure
in the caps.  Because the probing is done from smallest size to highest size
this will result in the smallest resolution supported by the camera - not
ideal.

This should fix it:

 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>

        * sys/v4l2/gstv4l2src.c:
        * sys/v4l2/v4l2src_calls.c:
          When probing the formats and sizes a camera supports, make
          sure the best ones (highest resolution, prefered format)
          end up at the beginning of the probed caps and the less
          desirable ones at the end.  This is important because the
          order within the caps matters for things like fixation and
          negotiation, ie. what format is chosen in the end.
          With recent kernels, the current probing code will end up
          querying the supported sizes from lowest resolution to
          highest resolution, adding them to the probed caps in that
          order, resulting to v4l2src fixating to the lowest possible
          resolution if downstream does not express a size preference.
          Also make up a somewhat random ranking of prefered output
          formats for the same reason. Fixes #485828.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=485828.




More information about the Gstreamer-bugs mailing list