* em28xx, sound problems, STV40, linux 3.7.1
@ 2013-01-01 20:02 Lluís Batlle i Rossell
2013-01-08 17:54 ` Frank Schäfer
0 siblings, 1 reply; 4+ messages in thread
From: Lluís Batlle i Rossell @ 2013-01-01 20:02 UTC (permalink / raw)
To: linux-media
Hello,
I'm testing a STV40 usb card, and I've some problems that disables me from
capturing audio+video. I'm on linux 3.7.1.
1) Capturing the video with ffmpeg mutes the audio. Simply doing.
$ ffmpeg -f video4linux2 -i /dev/video1 out.flv
Previous to running ffmpeg, I've arecord with "-V mono", and the
vumeter goes to 0% once running that ffmpeg line.
2) The card does not advertise audio controls (like mute), through
"v4l2-ctl --list-ctrls"
3) The card muting and unmuting works fine using V4L2_CID_AUDIO_MUTE
But "v4l2-ctl -c mute=0" can't be used because 'mute' isn't advertised.
Once the card is muted, any call to arecord records all samples zero.
I mention that, because snd_em28xx_capture_open() looks like meant to
unmute.
4) If something captures the sound (muted), and still capturing, I
unmute using V4L2_CID_AUDIO_MUTE, the samples arrive broken. I don't
know how to describe the noisy effect: http://viric.name/~viric/tmp/noise.wav
(only one channel was connected, of the stereo input)
Due to 1) and 4), trying to capture audio+video with ffmpeg results in
no-sound (muted), but if enabling it with a program apart while capturing using
V4L2_CID_AUDIO_MUTE, the sound recorded by ffmpeg is crippled.
Of course, I've no idea why the audio goes muted at video capture start.
As a final note apart, the implementation of vidioc_g_audio fills a->name
based on the incoming structure, instead of the later initialized a->index. I
think it's wrong. That's what makes "v4l2-ctl --get-audio-input" report "1
(Television)", while it should show "1 (Line In)".
Additionally, "v4l2-ctl --list-audio-inputs" doesn't show any input either.
As a note, here is the kernel information about the card I have:
[45161.345491] em28xx: New device USB 2861 Device (SVEON STV40) @ 480 Mbps (1b80:e309, interface 0, class 0)
[45161.345500] em28xx: Video interface 0 found
[45161.345504] em28xx: DVB interface 0 found
[45161.345592] em28xx #0: chip ID is em2860
[45161.456962] em28xx #0: i2c eeprom 00: 1a eb 67 95 80 1b 09 e3 50 00 20 03 6a 3c 00 00
[45161.456988] em28xx #0: i2c eeprom 10: 00 00 04 57 06 02 00 00 00 00 00 00 00 00 00 00
[45161.457029] em28xx #0: i2c eeprom 20: 02 00 01 00 f0 00 01 00 00 00 00 00 5b 00 00 00
[45161.457049] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 02 01 00 00 00 00
[45161.457068] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457086] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457105] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 3c 03 55 00 53 00
[45161.457154] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00
[45161.457173] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 20 00 28 00 53 00
[45161.457192] em28xx #0: i2c eeprom 90: 56 00 45 00 4f 00 4e 00 20 00 53 00 54 00 56 00
[45161.457210] em28xx #0: i2c eeprom a0: 34 00 30 00 29 00 00 00 00 00 00 00 00 00 00 00
[45161.457229] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457247] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457265] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457283] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457302] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[45161.457327] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xa3963040
[45161.457332] em28xx #0: EEPROM info:
[45161.457335] em28xx #0: AC97 audio (5 sample rates)
[45161.457338] em28xx #0: 500mA max power
[45161.457343] em28xx #0: Table at 0x04, strings=0x3c6a, 0x0000, 0x0000
[45161.457350] em28xx #0: Identified as Easy Cap Capture DC-60 (card=64)
[45161.661731] saa7115 9-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
[45162.049366] em28xx #0: Config register raw data: 0x50
[45162.061248] em28xx #0: AC97 vendor ID = 0x83847650
[45162.067100] em28xx #0: AC97 features = 0x6a90
[45162.067110] em28xx #0: Empia 202 AC97 audio processor detected
[45162.301273] em28xx #0: v4l2 driver version 0.1.3
[45162.822556] em28xx #0: V4L2 video device registered as video1
[45162.822565] em28xx #0: V4L2 VBI device registered as vbi0
Regards,
Lluís.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: em28xx, sound problems, STV40, linux 3.7.1
2013-01-01 20:02 em28xx, sound problems, STV40, linux 3.7.1 Lluís Batlle i Rossell
@ 2013-01-08 17:54 ` Frank Schäfer
2013-01-08 17:59 ` Devin Heitmueller
2013-01-08 18:03 ` Lluís Batlle i Rossell
0 siblings, 2 replies; 4+ messages in thread
From: Frank Schäfer @ 2013-01-08 17:54 UTC (permalink / raw)
To: Lluís Batlle i Rossell; +Cc: linux-media
Hi,
Am 01.01.2013 21:02, schrieb Lluís Batlle i Rossell:
> Hello,
>
> I'm testing a STV40 usb card, and I've some problems that disables me from
> capturing audio+video. I'm on linux 3.7.1.
>
> 1) Capturing the video with ffmpeg mutes the audio. Simply doing.
> $ ffmpeg -f video4linux2 -i /dev/video1 out.flv
>
> Previous to running ffmpeg, I've arecord with "-V mono", and the
> vumeter goes to 0% once running that ffmpeg line.
>
> 2) The card does not advertise audio controls (like mute), through
> "v4l2-ctl --list-ctrls"
>
> 3) The card muting and unmuting works fine using V4L2_CID_AUDIO_MUTE
> But "v4l2-ctl -c mute=0" can't be used because 'mute' isn't advertised.
> Once the card is muted, any call to arecord records all samples zero.
> I mention that, because snd_em28xx_capture_open() looks like meant to
> unmute.
>
> 4) If something captures the sound (muted), and still capturing, I
> unmute using V4L2_CID_AUDIO_MUTE, the samples arrive broken. I don't
> know how to describe the noisy effect: http://viric.name/~viric/tmp/noise.wav
> (only one channel was connected, of the stereo input)
>
> Due to 1) and 4), trying to capture audio+video with ffmpeg results in
> no-sound (muted), but if enabling it with a program apart while capturing using
> V4L2_CID_AUDIO_MUTE, the sound recorded by ffmpeg is crippled.
>
> Of course, I've no idea why the audio goes muted at video capture start.
>
> As a final note apart, the implementation of vidioc_g_audio fills a->name
> based on the incoming structure, instead of the later initialized a->index. I
> think it's wrong. That's what makes "v4l2-ctl --get-audio-input" report "1
> (Television)", while it should show "1 (Line In)".
>
> Additionally, "v4l2-ctl --list-audio-inputs" doesn't show any input either.
>
> As a note, here is the kernel information about the card I have:
> [45161.345491] em28xx: New device USB 2861 Device (SVEON STV40) @ 480 Mbps (1b80:e309, interface 0, class 0)
> [45161.345500] em28xx: Video interface 0 found
> [45161.345504] em28xx: DVB interface 0 found
> [45161.345592] em28xx #0: chip ID is em2860
> [45161.456962] em28xx #0: i2c eeprom 00: 1a eb 67 95 80 1b 09 e3 50 00 20 03 6a 3c 00 00
> [45161.456988] em28xx #0: i2c eeprom 10: 00 00 04 57 06 02 00 00 00 00 00 00 00 00 00 00
> [45161.457029] em28xx #0: i2c eeprom 20: 02 00 01 00 f0 00 01 00 00 00 00 00 5b 00 00 00
> [45161.457049] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 02 01 00 00 00 00
> [45161.457068] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457086] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457105] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 3c 03 55 00 53 00
> [45161.457154] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00
> [45161.457173] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 20 00 28 00 53 00
> [45161.457192] em28xx #0: i2c eeprom 90: 56 00 45 00 4f 00 4e 00 20 00 53 00 54 00 56 00
> [45161.457210] em28xx #0: i2c eeprom a0: 34 00 30 00 29 00 00 00 00 00 00 00 00 00 00 00
> [45161.457229] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457247] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457265] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457283] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457302] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [45161.457327] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xa3963040
> [45161.457332] em28xx #0: EEPROM info:
> [45161.457335] em28xx #0: AC97 audio (5 sample rates)
> [45161.457338] em28xx #0: 500mA max power
> [45161.457343] em28xx #0: Table at 0x04, strings=0x3c6a, 0x0000, 0x0000
> [45161.457350] em28xx #0: Identified as Easy Cap Capture DC-60 (card=64)
> [45161.661731] saa7115 9-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
> [45162.049366] em28xx #0: Config register raw data: 0x50
> [45162.061248] em28xx #0: AC97 vendor ID = 0x83847650
> [45162.067100] em28xx #0: AC97 features = 0x6a90
> [45162.067110] em28xx #0: Empia 202 AC97 audio processor detected
> [45162.301273] em28xx #0: v4l2 driver version 0.1.3
> [45162.822556] em28xx #0: V4L2 video device registered as video1
> [45162.822565] em28xx #0: V4L2 VBI device registered as vbi0
>
> Regards,
> Lluís.
>
Thank you for reporting this issue.
Is there any known kernel version where this has been working ?
Regards,
Frank
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: em28xx, sound problems, STV40, linux 3.7.1
2013-01-08 17:54 ` Frank Schäfer
@ 2013-01-08 17:59 ` Devin Heitmueller
2013-01-08 18:03 ` Lluís Batlle i Rossell
1 sibling, 0 replies; 4+ messages in thread
From: Devin Heitmueller @ 2013-01-08 17:59 UTC (permalink / raw)
To: Frank Schäfer; +Cc: Lluís Batlle i Rossell, linux-media
On Tue, Jan 8, 2013 at 12:54 PM, Frank Schäfer
<fschaefer.oss@googlemail.com> wrote:
> Thank you for reporting this issue.
> Is there any known kernel version where this has been working ?
>
> Regards,
> Frank
Frank,
Just an FYI: I'm already actively looking into this.
Devin
--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: em28xx, sound problems, STV40, linux 3.7.1
2013-01-08 17:54 ` Frank Schäfer
2013-01-08 17:59 ` Devin Heitmueller
@ 2013-01-08 18:03 ` Lluís Batlle i Rossell
1 sibling, 0 replies; 4+ messages in thread
From: Lluís Batlle i Rossell @ 2013-01-08 18:03 UTC (permalink / raw)
To: Frank Schäfer; +Cc: linux-media
Hello,
On Tue, Jan 08, 2013 at 06:54:11PM +0100, Frank Schäfer wrote:
> Am 01.01.2013 21:02, schrieb Lluís Batlle i Rossell:
> > Hello,
> >
> > I'm testing a STV40 usb card, and I've some problems that disables me from
> > capturing audio+video. I'm on linux 3.7.1.
> >
> > 1) Capturing the video with ffmpeg mutes the audio. Simply doing.
> > $ ffmpeg -f video4linux2 -i /dev/video1 out.flv
> >
> > Previous to running ffmpeg, I've arecord with "-V mono", and the
> > vumeter goes to 0% once running that ffmpeg line.
> >
> > 2) The card does not advertise audio controls (like mute), through
> > "v4l2-ctl --list-ctrls"
> >
> > 3) The card muting and unmuting works fine using V4L2_CID_AUDIO_MUTE
> > But "v4l2-ctl -c mute=0" can't be used because 'mute' isn't advertised.
> > Once the card is muted, any call to arecord records all samples zero.
> > I mention that, because snd_em28xx_capture_open() looks like meant to
> > unmute.
> >
> > 4) If something captures the sound (muted), and still capturing, I
> > unmute using V4L2_CID_AUDIO_MUTE, the samples arrive broken. I don't
> > know how to describe the noisy effect: http://viric.name/~viric/tmp/noise.wav
> > (only one channel was connected, of the stereo input)
> >
> > Due to 1) and 4), trying to capture audio+video with ffmpeg results in
> > no-sound (muted), but if enabling it with a program apart while capturing using
> > V4L2_CID_AUDIO_MUTE, the sound recorded by ffmpeg is crippled.
> >
> > Of course, I've no idea why the audio goes muted at video capture start.
> >
> > As a final note apart, the implementation of vidioc_g_audio fills a->name
> > based on the incoming structure, instead of the later initialized a->index. I
> > think it's wrong. That's what makes "v4l2-ctl --get-audio-input" report "1
> > (Television)", while it should show "1 (Line In)".
> >
> > Additionally, "v4l2-ctl --list-audio-inputs" doesn't show any input either.
> >
> > As a note, here is the kernel information about the card I have:
> > [45161.345491] em28xx: New device USB 2861 Device (SVEON STV40) @ 480 Mbps (1b80:e309, interface 0, class 0)
> > [45161.345500] em28xx: Video interface 0 found
> > [45161.345504] em28xx: DVB interface 0 found
> > [45161.345592] em28xx #0: chip ID is em2860
> > [45161.456962] em28xx #0: i2c eeprom 00: 1a eb 67 95 80 1b 09 e3 50 00 20 03 6a 3c 00 00
> > [45161.456988] em28xx #0: i2c eeprom 10: 00 00 04 57 06 02 00 00 00 00 00 00 00 00 00 00
> > [45161.457029] em28xx #0: i2c eeprom 20: 02 00 01 00 f0 00 01 00 00 00 00 00 5b 00 00 00
> > [45161.457049] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 02 01 00 00 00 00
> > [45161.457068] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457086] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457105] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 3c 03 55 00 53 00
> > [45161.457154] em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00
> > [45161.457173] em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 20 00 28 00 53 00
> > [45161.457192] em28xx #0: i2c eeprom 90: 56 00 45 00 4f 00 4e 00 20 00 53 00 54 00 56 00
> > [45161.457210] em28xx #0: i2c eeprom a0: 34 00 30 00 29 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457229] em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457247] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457265] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457283] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457302] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > [45161.457327] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xa3963040
> > [45161.457332] em28xx #0: EEPROM info:
> > [45161.457335] em28xx #0: AC97 audio (5 sample rates)
> > [45161.457338] em28xx #0: 500mA max power
> > [45161.457343] em28xx #0: Table at 0x04, strings=0x3c6a, 0x0000, 0x0000
> > [45161.457350] em28xx #0: Identified as Easy Cap Capture DC-60 (card=64)
> > [45161.661731] saa7115 9-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
> > [45162.049366] em28xx #0: Config register raw data: 0x50
> > [45162.061248] em28xx #0: AC97 vendor ID = 0x83847650
> > [45162.067100] em28xx #0: AC97 features = 0x6a90
> > [45162.067110] em28xx #0: Empia 202 AC97 audio processor detected
> > [45162.301273] em28xx #0: v4l2 driver version 0.1.3
> > [45162.822556] em28xx #0: V4L2 video device registered as video1
> > [45162.822565] em28xx #0: V4L2 VBI device registered as vbi0
> >
> > Regards,
> > Lluís.
> >
>
> Thank you for reporting this issue.
> Is there any known kernel version where this has been working ?
Sorry, I wanted to send a new letter about all my new findings, with great help
from #v4l at freenode. My original post had several confusions:
1) recording only video (ffmpeg is very simple at that) does not *mute* the
audio. But using mplayer/mencoder with audio, it *yes* unmutes at start of
record, and mutes again exiting the program. I guess I tried ffmpeg always
*after* mplayer/mencoder.
2) the alsa device created by this STV40 is not em28xx-alsa. It's the usual
snd-usb-audio. em28xx-alsa has code that unmutes the audio in the em28xx, on
start of capture. But snd-usb-audio not, of course.
3) the v4l-ctl command works fine for muting/unmuting, as I tested later; I
guess in my original tests, I missed "-d /dev/video1".
4) the sound gets crippled if there is an unmute operation while the
snd-usb-audio is already capturing. That's what mplayer does with its
unmute/mute, always breaking the audio record.
So, at the end, plugging in the device and recording A/V with ffmpeg works quite
well. Sometimes it fails to allocate buffers, but repeating and repeating the
command, at some point they get allocated right.
Regards,
Lluís.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-08 18:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-01 20:02 em28xx, sound problems, STV40, linux 3.7.1 Lluís Batlle i Rossell
2013-01-08 17:54 ` Frank Schäfer
2013-01-08 17:59 ` Devin Heitmueller
2013-01-08 18:03 ` Lluís Batlle i Rossell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.