Hi,
I'm using xawtv (streamer) to cap TV footage. I am hoping v4l2 will give
superior results (esp sync) than v4l1, so I'm trying to set it up.
So I want to use a bttv card (wintv PVR) with v4l2. Although I think I've
done everything right, I get this:
# v4l-conf
v4l-conf: using X11 display :0
dga: version 2.0
mode: 1600x1200, depth=24, bpp=32, bpl=7168, base=0xd4000000
/dev/video0 [v4l2]: ioctl VIDIOC_QUERYCAP: Invalid argument
/dev/video0 [v4l]: configuration done
So I assume v4l2 is not working? Also, v4lctl commands do not seem to
work, although xaw-remote does.
After several kernel builds I'm stil stuck, so I'm hoping somebody can
advise. I've a RH8.0 box, to which I've added a 2.4.20 kernel with the
v4l2api patch from bytesex.org.
Initially I compiled the new kernel with bttv support built as modules -
but when I then tried to make/make install the bttv0.9.6 I got conflicts
with depmod. So I started over (rm -rf /lib/modules/2.4.20; rm -rf
/usr/src/linux2.4.20), untarred the kernel source, patched with 4vl2 api
patch, and built (with no bttv support configured). Then I booted into the
new 2.4.20 kernel, installed the bttv0.7.105 driver, then installed the
bttv0.9.6 driver.
These are the relevent modules.conf entries:
# ALSA native device support
alias char-major-116 snd
alias snd-card-0 snd-ens1370
# module options should go here
# options nomix=0
#OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
#soundcard 0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
# i2c
alias char-major-89 i2c-dev
options i2c-core i2c_debug=1
options i2c-algo-bit bit_test=1
# bttv
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=80 radio=1
options tuner debug=1
and here are the modules that are loaded:
Module Size Used by Tainted: P
tuner 12416 1 (autoclean)
tvaudio 15612 0 (autoclean) (unused)
msp3400 19820 1 (autoclean)
bttv 82912 0 (autoclean)
i2c-algo-bit 8776 1 (autoclean) [bttv]
i2c-core 19044 0 (autoclean) [tuner tvaudio msp3400 bttv
i2c-algo-bit]
videodev 8320 3 (autoclean) [bttv]
snd-pcm-oss 44324 0 (autoclean)
snd-mixer-oss 16376 2 (autoclean) [snd-pcm-oss]
snd-ens1370 11340 2 (autoclean)
snd-rawmidi 18848 0 (autoclean) [snd-ens1370]
snd-seq-device 6316 0 (autoclean) [snd-rawmidi]
snd-pcm 81152 0 (autoclean) [snd-pcm-oss snd-ens1370]
snd-timer 15432 0 (autoclean) [snd-pcm]
snd-ak4531-codec 6068 0 (autoclean) [snd-ens1370]
snd 46124 0 (autoclean) [snd-pcm-oss snd-mixer-oss
snd-ens1370 snd-rawmidi snd-seq-device snd-pcm snd-timer snd-ak4531-codec]
soundcore 6532 6 (autoclean) [bttv snd]
Do I need any other patches? Should I recompile the kernel? How do I tell
if Xawtv is using v4l or v4l2? Does the streamer program use the new v4l2
interface? (I'm using xawtv-3.85). And can you cap from "tvaudio" if you
are using alsa - I don't see anything like it in alsamixer? And is alsa a
better bet at the current time than native oss?
Also, I get variable qaulity caps from streamer with the same source VHS
cassette. Sometimes there seem to be old frames inserted into the stream,
and the picture stutters a lot, as if some buffer is confused. It appears
starting/stopping xawtv can help. How can I control this? Can I
configure/flush the buffers?
Any pointers?