Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: uvideo(4) regression



On 07.02.11 05:27, Jeremy Morse wrote:
> On Thu, 2011-01-27 at 12:06 +0100, Christoph Egger wrote:
>> Assuming usb_mem also lacks this support in NetBSD 5.0 how
>> does it work then?
> 
> It doesn't - or at least, I've experienced this problem on a NetBSD 5.0
> machine with a small amount of memory. However because it depends on how
> fragmented memory has become, it's difficult to reproduce.
> 
> If you can test this again immediately after booting the machine, does
> uvideo still exhibit that behavior? It's entirely possible there's some
> other bug coming into play.
> 
> Alternately, I've been cooking the attached patches to enable
> non-contiguous memory allocations in usb_mem: usb_mem.diff adds code to
> perform those allocations and makes ehci allocate non-contiguous blocks;
> ehci.diff fixes part of the bulk/ctrl/intr transfer setup code that
> assumes contiguous blocks. Try with both applied, and see if you still
> get the same error.
> 
> I've tested this on an i386 machine with a UVC webcam and it works just
> as well as with contiguous allocations. I've only done a little testing
> with bulk transfers, so there could still be problems that affect things
> like umass(4).

Your patches have trailing CRs. NetBSD's patch(1) can't deal with
trailing CRs and applying them fails.

MacOSX's patch(1) can deal with CRs and simply skips them.

My UVC webcam works again with your patches. Thanks a lot for your work.


$ mplayer tv://
Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olscheski
 comment: firt try, more to come ;-)
Selected device: SuYin HP Webcam, rev 2.00/1.00,
 Capabilities: video capture  read/write  streaming
 supported norms: 0 = webcam;
 inputs: 0 = Camera;
 Current input 0
 Current format: YUYV
v4l2: ioctl set format failed: Invalid Argument
v4l2: ioctl set format failed: Invalid Argument
v4l2: ioctl set format failed: Invalid Argument
tv.c: norm_form_string(pal): Bogus norm parameter, setting default.
Selected input hasn't got a tuner!
v4l2: Cannot get fps
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
===================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7f7ffbf01010] BICUBIC scaler, from yuyv422 to bgra using MMX2
VO: [x11] 640x480 => 640x480 BGRA
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
===================================================================
Audio: no sound
Starting playback...
V:  0.0  386/ 386 ??% ??% ??,?% 0 0
v4l2: ioctl set mute failed: Invalid argument
v4l2: 388 frames sucessfully processed, -1602224515 frames dropped.

Exiting... (Quit)
$



Christoph


Home | Main Index | Thread Index | Old Index