* 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.