Bug 5912 - Can't record audio with mencoder (mplayer) using snd_via82xx
Summary: Can't record audio with mencoder (mplayer) using snd_via82xx
Status: REJECTED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-17 12:58 UTC by Attila Rajmund Nohl
Modified: 2006-04-15 06:22 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.15
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Attila Rajmund Nohl 2006-01-17 12:58:57 UTC
Most recent kernel where this bug did not occur:2.6.14
Distribution:Debian sarge
Hardware Environment:

The sound card is integrated to the motherboard. It's lspci output:
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/
8237 AC97 Audio Controller (rev 60)
        Subsystem: Elitegroup Computer Systems: Unknown device 1884
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin C routed to IRQ 11
        Region 0: I/O ports at bc00 [size=256]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,
D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

The tv card is an AverMedia TvCapture 98:
0000:00:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video 
Capture (rev 02)
        Subsystem: Avermedia Technologies Inc TV98 Series (TV/No FM/Remote)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (4000ns min, 10000ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at e2000000 (32-bit, prefetchable) [size=4K]

0000:00:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture 
(rev 02)
        Subsystem: Avermedia Technologies Inc: Unknown device 0002
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (1000ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at e2001000 (32-bit, prefetchable) [size=4K]

Software Environment: mplayer CVS version
Problem Description: I record from the TV using the following command line:
mencoder tv:// -tv driver=v4l2:width=384:height=288:norm=PAL:chanlist=europe-
west:channel=E8 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1800:vhq:v4mv -oac 
mp3lame -lameopts cbr:br=128 -o test.avi

Up to 2.6.14 this command recorded the sound of the TV, not just the video, but 
it does not record audio with 2.6.15. The audio output of the TV card is 
connected to the line input of the sound card and in the mixer the line input is 
selected as the recording channel (I used exactly the same settings with 2.6.14 
and 2.6.15). When I watch TV with xawtv, I can hear the sound. I tried a lot of 
other command line options with mencoder (including explicitely specifying OSS 
or ALSA), but it didn't worked. The relevant kernel configuration options:
CONFIG_SND=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_AC97_BUS=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND_VIA82XX=m

Steps to reproduce:
Issue the command above. Stop the recording after around 5-10 seconds, then try 
to replay the file with mplayer - it won't have audio.
Comment 1 Lee Revell 2006-01-20 19:09:57 UTC
Please do a binary search by date with ALSA CVS to identify the commit that
broke it.
Comment 2 Attila Rajmund Nohl 2006-01-22 07:57:29 UTC
I've tried a binary search although I'm not sure this is what you suggested. 
I've followed the instructions at http://gimpel.gi.funpic.de/Howtos/ALSA-
CVS_to_kernel/ to get the current ALSA. Then I issued the
cvs -f -z3 -d ":pserver:anonymous:@cvs.sourceforge.net:/cvsroot/alsa" update -D 
2005-12-01

command. This ALSA didn't compile with the 2.6.14 kernel, but did compile with 
the 2.6.15 kernel, however, the audio recording still didn't work. Then I issued 
the
cvs -f -z3 -d ":pserver:anonymous:@cvs.sourceforge.net:/cvsroot/alsa" update -D 
2005-11-21

command, but this ALSA didn't compile with neither the 2.6.14 nor the 2.6.15 
kernel.
Comment 3 Attila Rajmund Nohl 2006-01-25 12:00:27 UTC
I've also tried mplayer with the 2.6.15-rc1 kernel and got this error message:
v4l2: ioctl queue buffer failed: Bad address

Then mplayer crashed with a segmentation fault after this error.
Comment 4 Attila Rajmund Nohl 2006-01-28 07:29:26 UTC
I've also tried this with other kernels.
2.6.15-rc2: same error message as in 2.6.15-rc1
2.6.15-rc3: audio recording works fine
2.6.15-rc4: audio recording works fine
2.6.15-rc5: no audio, just like with 2.6.15
Comment 5 Jesse Allen 2006-02-20 19:43:43 UTC
Not a kernel bug.  This one was a bit tricky to find because there were several
v4l2 bugs in the early 2.6.15-rc.  The actual one with no sound is because of a
correct change in the way bttv initializes in 2.6.15-rc5.  It is a bug in
mplayer because it wrongly uses v4l2_input audioset field.  I got a patch merged
in mplayer cvs and you can read it here:
http://mplayerhq.hu/pipermail/mplayer-dev-eng/2006-February/040546.html

Grab mplayer cvs and build and sound will work now on any kernel with v4l2.
Comment 6 Jesse Allen 2006-02-20 21:11:19 UTC
Oops, there is one more thing related to audioset I did not fix.  You can use
the "forceaudio" to be able record audio during capture, until a fix for this is
merged.
Comment 7 Jesse Allen 2006-02-25 16:02:39 UTC
I sent a patch to fix mencoder
http://mplayerhq.hu/pipermail/mplayer-dev-eng/2006-February/040744.html

If it is merged, you won't need forceaudio.  If not, you will need it.
Comment 8 Jesse Allen 2006-03-10 06:35:52 UTC
Final patch is in mplayer cvs.  Mencoder is fixed.
Comment 9 Adrian Bunk 2006-04-15 06:22:53 UTC
According to the bug logs, this was a bug in mplayer, not a kernel bug.

Note You need to log in before you can comment on or make changes to this bug.