Hi Steve, On Fri, 2003-11-21 at 22:11, Steve Tell wrote: > Does "couldn't handle the throughput" relate mainly to overrunning the > pci-bus DMA bandwidth to memory that the card can get in a particular > system, Or does the zoran's jpeg encoder hardware itself get confused when > a picture is too complex? DMA. There's apparently some settings on the card that influence this. I've seen some "private" PCI settings on the Iomega Buz (thanks to the Iomega engineers for giving me this data ;) ) that affect throughput. Something tells me that the DC10+ also has these settings. The win32 driver definately has better throughput than ours (this is noticeable in full-screen overlay). However, without proper datasheets, this is hard to find out myself. Then again, our driver is much more stable and gives better quality capture compared to the win32 driver, so I don't really see much of an issue here (yet). ;). > Another error I see sometimes is "timeout syncing on a buffer" which > causes lavrec to die. This happened a lot with -d2 320x240ish capture > from VHS tape until I turned on my VCR's timebase corrector. I never saw > it with -d1 full-screen-interlaced camera input, so this error seems > related most strongly to bad input video is that true? Yes. The JPEG codec (zr36060) cannot handle that, unfortunately. > Is hacking on (lib)lavrec to make it restart when a "timeout" occurs > likely to be fruitful? I'm interested in doing live-performance recording > from a camera, where dropping out for even a half second a few times > an hour would be bad, but much more tolerable than aborting entirely > and requiring manual intervention. That would probably work, yes. The driver used to have such code ("restart code"), but I removed it because I personally don't like that in the kernel. When a timeout occurs, it's up to the user to tell us what to do here. The error will always occur in MJPIOC_SYNC, the return value will be -1 and errno will be set to ETIMEOUT (the driver does all this). Lavrec should simply flush all buffers (MJPIOC_QBUF_CAPT with -1 as argument) and restart capturing (MJPIOC_QBUF_CAPT on all buffers). I'd be very interested in such code, and many users with me. ;). Ronald -- Ronald Bultje <rbultje@xxxxxxxxxxxxxxxxxxx> Linux Video/Multimedia developer