Open Bug 1233532 Opened 10 years ago Updated 3 years ago

Unable to play captured audio if output sample rate is higher than 48kHz

Categories

(Core :: WebRTC: Audio/Video, defect, P4)

42 Branch
x86
Windows 8.1
defect

Tracking

()

People

(Reporter: kolan_n, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.3; rv:42.0) Gecko/20100101 Firefox/42.0 Build ID: 20151029151421 Steps to reproduce: https://mozilla.github.io/webrtc-landing/gum_test.html Push audio. Actual results: Nothing. It doesn't captures. My OS is Windows 8.1 My sound card is Audigy 2 ZS I tried to change capture format of the mic (bit depth and sampling rate), it haven't helped. Expected results: >Audio will feedback unless you use a headset!
OS: Unspecified → Windows 8.1
Hardware: Unspecified → x86
Summary: Unable to capture audio from mic → [WebRTC] Unable to capture audio from mic
Component: Untriaged → WebRTC: Audio/Video
Product: Firefox → Core
What drivers do you have for the Audigy 2 ZS? (Paul, do you have one of these?) Can you provide logs (see https://wiki.mozilla.org/Media/WebRTC/Logging) with NSPR_LOG_MODULES=mediamanager:4,getusermedia:4,webrtc_trace:65535 and WEBRTC_TRACE_FILE=nspr Thanks
Flags: needinfo?(padenot)
Flags: needinfo?(kolan_n)
Flags: needinfo?(kolan_n) → needinfo?(rjesup)
I don't. However, we see things like that in the log: 0[d54a680]: ERROR ; (**:**:**:*** | 0) VOICE: 1 99; 5960; SetExternalRecordingStatus() invalid sample rate (error=8005)
Flags: needinfo?(padenot)
Note: that's here: if ((16000 != samplingFreqHz) && (32000 != samplingFreqHz) && (48000 != samplingFreqHz) && (44100 != samplingFreqHz)) { shared_->SetLastError(VE_INVALID_ARGUMENT, kTraceError, "SetExternalRecordingStatus() invalid sample rate");
Flags: needinfo?(rjesup)
0[c8cda30]: STREAM ; (**:**:**:*** | 0) VOICE: 1 99; 4328; ExternalPlayoutData(speechData10ms=0x*******, lengthSamples=960, samplingFreqHz=96000, current_delay_ms=40) That's why. The question is why we were using that; I suspect the mic is set to that; see see that and go "nope!" Paul - this may give you an easy way to check (likely this is os-dependent, too).
We should should insert a resampler there for sure. This is Windows/WASAPI and it cannot resample for you most of the time in the current setup, and it appears that the webrtc.org code does not handle automatic resampling.
Paul - is this common, or rare? Is this due to user-settings (non-default) for the mic? (really rare to need/want to capture at 96K except *maybe* in a studio) If we fix it, the best way would be to down-sample before feeding it to the webrtc.org core code. Kolanich - is the 96K default, or did you set that? Does it work if you switch to 48000?
Status: UNCONFIRMED → NEW
backlog: --- → webrtc/webaudio+
Rank: 35
Ever confirmed: true
Flags: needinfo?(kolan_n)
Priority: -- → P3
Summary: [WebRTC] Unable to capture audio from mic → Unable to capture audio from 96000Hz mic
>KOLANICH - is the 96K default, or did you set that? I did. >Does it work if you switch to 48000? No >nSamplesPerSec : 16000 >if ((16000 != samplingFreqHz) The first log ( http://pastebin.com/pWn8vWFU ) was for 16 kHz.
Flags: needinfo?(kolan_n)
Summary: Unable to capture audio from 96000Hz mic → Unable to capture audio from mic
This was playback issue, not capture. When I set output settings to 48000 kHz, I started to hear the mic. BTW, mic now is set to 96kHz. >We should should insert a resampler there for sure. In the case of playback I think the resampler is not a good solution.
Summary: Unable to capture audio from mic → Unable to play captured audio if output sample rate is higher than 48kHz
*48 kHz
Hmmm. Even in your first example, I see samplingFreqHz=96000 (input failure, line 146) and a failure on invalid rates, but maybe it's exposing multiple interfaces at different rates?
Maybe. There exists a WhatUHear interface allowing a user to record the sounds produced by OS/apps/etc. Its sample rate must be equal to sample rate of output. But I'd selected the mic as a source.
(In reply to KOLANICH from comment #9) > This was playback issue, not capture. When I set output settings to 48000 > kHz, I started to hear the mic. > BTW, mic now is set to 96kHz. > > >We should should insert a resampler there for sure. > In the case of playback I think the resampler is not a good solution. We choose the native resampling of the audio interface for playback. I was talking about input audio.
Mass change P3->P4 to align with new Mozilla triage process.
Priority: P3 → P4
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.