Date: Thu, 27 Jun 2013 08:20:48 +0200 From: Hans Petter Selasky <hps@bitfrost.no> Cc: freebsd-multimedia@freebsd.org, Juergen Lock <nox@jelal.kn-bremen.de> Subject: Re: New version of webcamd [3.10.0.6] Message-ID: <51CBD9C0.5040107@bitfrost.no> In-Reply-To: <51CBD87F.8090103@bitfrost.no> References: <201306262216.r5QMGoIg029323@triton8.kn-bremen.de> <51CBD87F.8090103@bitfrost.no>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010808030508030102010304
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
On 06/27/13 08:15, Hans Petter Selasky wrote:
> On 06/27/13 00:16, Juergen Lock wrote:
>> DBG: : usb_urb_complete: urb completition failed=-27
>> DBG: : usb_urb_complete: bulk urb completed status=-27
>> length=0/131072 pack_num=0 errors=0
>
> Hi,
>
> Probably I should increase the minimum buffer size:
>
> Could you try adding to the webcamd flags:
>
> "-m linux_usb.min_bufsize=262144"
>
> Or some larger value if it doesn't work?
>
> --HPS
Can you try the attached patch?
--HPS
--------------010808030508030102010304
Content-Type: text/x-patch;
name="webcamd-bufsize.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="webcamd-bufsize.diff"
Index: kernel/linux_usb.c
===================================================================
--- kernel/linux_usb.c (revision 2621)
+++ kernel/linux_usb.c (working copy)
@@ -952,8 +952,8 @@
if (bufsize < 4096)
bufsize = 4096;
} else {
- if (bufsize < 65536)
- bufsize = 65536;
+ if (bufsize < 131072)
+ bufsize = 131072;
}
/* one transfer and one frame */
@@ -1806,6 +1806,16 @@
libusb20_tr_setup_bulk(xfer, urb->transfer_buffer,
urb->transfer_buffer_length, urb->timeout);
libusb20_tr_submit(xfer);
+
+ /* get other transfer */
+ if (xfer == uhe->bsd_xfer[0])
+ xfer = uhe->bsd_xfer[1];
+ else
+ xfer = uhe->bsd_xfer[0];
+
+ /* start the other transfer, if not already started */
+ if (xfer != NULL)
+ libusb20_tr_start(xfer);
break;
default:
Index: patches/uvc_video.c.diff
===================================================================
--- patches/uvc_video.c.diff (revision 2648)
+++ patches/uvc_video.c.diff (working copy)
@@ -47,7 +47,7 @@
-
- /* roughly compute size for buffers */
- if (stream->dev->udev->speed == USB_SPEED_FULL) {
-- size = 8192;
+- size = 4096;
- } else {
- size = 131072;
- }
--------------010808030508030102010304--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51CBD9C0.5040107>
