This way we can activate deactivate those quirks all at once at one
place.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
gint int_width = width;
gint int_height = height;
- if (!strcmp ((char *) v4l2object->vcap.driver, "uvcvideo")) {
- /*
- * UVC devices are never interlaced, and doing VIDIOC_TRY_FMT on them
- * causes expensive and slow USB IO, so don't probe them for interlaced
- */
+ if (v4l2object->never_interlaced) {
interlaced = FALSE;
} else {
/* Interlaced detection using VIDIOC_TRY/S_FMT */
GstV4l2GetInOutFunction get_in_out_func;
GstV4l2SetInOutFunction set_in_out_func;
GstV4l2UpdateFpsFunction update_fps_func;
+
+ /* Quirks */
+ /* Skips interlacing probes */
+ gboolean never_interlaced;
};
struct _GstV4l2ObjectClassHelper {
if (v4l2object->extra_controls)
gst_v4l2_set_controls (v4l2object, v4l2object->extra_controls);
+ /* UVC devices are never interlaced, and doing VIDIOC_TRY_FMT on them
+ * causes expensive and slow USB IO, so don't probe them for interlaced
+ */
+ if (!strcmp ((char *) v4l2object->vcap.driver, "uvcusb")) {
+ v4l2object->never_interlaced = TRUE;
+ }
+
return TRUE;
/* ERRORS */