After our recent changes, VIDIOC_S_FMT didn't always return the correct
authormglocker <mglocker@openbsd.org>
Fri, 25 Jul 2008 17:20:27 +0000 (17:20 +0000)
committermglocker <mglocker@openbsd.org>
Fri, 25 Jul 2008 17:20:27 +0000 (17:20 +0000)
maximum image size.  Fix it.  Makes read(2) method work again.

sys/dev/usb/uvideo.c

index b912819..85eb843 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: uvideo.c,v 1.62 2008/07/25 11:12:34 mglocker Exp $ */
+/*     $OpenBSD: uvideo.c,v 1.63 2008/07/25 17:20:27 mglocker Exp $ */
 
 /*
  * Copyright (c) 2008 Robert Nagy <robert@openbsd.org>
@@ -2200,7 +2200,7 @@ uvideo_s_fmt(void *v, struct v4l2_format *fmt)
            DEVNAME(sc), __func__, r.width, r.height);
 
        /* tell our sample buffer size */
-       fmt->fmt.pix.sizeimage = sc->sc_sample_buffer.buf_size;
+       fmt->fmt.pix.sizeimage = UGETDW(sc->sc_desc_probe.dwMaxVideoFrameSize);
 
        return (0);
 }