> First point: > /dev/video0 cannot be open() multiple times (ok, I've done a master/slave grabber to solve that > issue, but that's a lot of pain). With 0.8.x you can open it multiple times. Althrougth I don't see how this is relatet to your Problem. > Second point: > Userland switching has no control over scheduling. So, you're right, > it works. But anytime I run an infinite loop for instance, it no > longer works. ??? > Right. Stoppping the DMA wasted too much images I think. But back to > my first questions: > > - why writing 00 to MUXSEL ? - does this mean that input 3 > (coresponding to MUXSEL=00) has a special status ? - mdelay() is not > needed at all ? Don't know exactly, it was in there when I started maintaining bttv and I left it as-is in 0.7.x. The comment above these two lines says: /* This seems to get rid of some synchronization problems */ bttv 0.8.x does fine without these lines, and I can't see any syncronisation issues ... > In fact, I've hardcoded the input switching code in the middle of > bttv_irq, where I don't like the "hidden" mdelay() ... It would oops anyway because you can't mdelay() in a irq handler. Gerd -- You can't please everybody. And usually if you _try_ to please everybody, the end result is one big mess. -- Linus Torvalds, 2002-04-20