> The first is that the BTTV driver or system calls seem to react on SIGINT,
> since we use Ctrl-C to stop capturing. This works okay for the MJPEG/zoran
> devices but for the BTTV devices (in my case, a Hauppage winTV), it gives
> an error "interrupted system call". Is this correct (that the driver is
> catching SIGINT signals) and can I stop it?
Yes, this is correct. The driver sleeps interruptible until the irq
handler signals that the hardware finished the capture. If a signal
arrives the signal gets delivered to the application and the system call
returns with -EINTR.
You have to restart the system call like this:
retry:
if (-1 == (rc = xioctl(h->fd,VIDIOCSYNC,h->buf_v4l+frame))) {
if (errno == EINTR && !alarms)
goto retry;
}
Asking the glibc do this automagically (sigaction.sa_flags |= SA_RESTART)
should work too.
> Secondly, my winTV only gives me two YUV buffers after the VIDIOCGMBUF. Is
> there a way to increase this number?
there is a insmod option (gbuffers).
> Ohwell, also a question. I van only open() my device once - I'd like to
> open it twice to actually see what I'm recording and to record video at the
> same time. Are there BTTV-devices that can be opened more than once or is
> this a V4L limitation?
It is a videodev.c limitation. bttv 0.8.x can handle multiple opens at
the same time, but this requires a patched kernel (patches are available
from http://bytesex.org/patches/)
> At last a question for gstreamer. They use a v4lsrc which can do both
> read() and mmap() captures. Can all v4l- (or bttv-)devices do both read()
> and mmap()?
bttv 0.7.x can do _only_ mmap(). bttv 0.8.x can handle both. Most
other drivers support mmap() too because there are quite a few apps
which can deal with mmap() only. xawtv tries to use mmap() first,
failing that it falls back to use read().
Gerd
--
Netscape is unable to locate the server localhost:8000.
Please check the server name and try again.
_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list