Closed Bug 971528 Opened 10 years ago Closed 7 years ago

Support stereo capture in gUM

Categories

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

30 Branch
x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
platform-rel --- +
firefox55 --- fixed

People

(Reporter: worik.stanton, Assigned: achronop)

References

Details

(Keywords: dev-doc-complete, Whiteboard: [platform-rel-Facebook])

Attachments

(5 files, 1 obsolete file)

Attached file TestMicrophone.html
User Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 (Beta/Release)
Build ID: 20140211004037

Steps to reproduce:

Capturing the microphone using a stereo input device (in my case a M-Audio audio interface with a microphone connected to one side with an XLR cable) results in the signal being split between the left and right channels.

I have attached a web page that illustrates the bug.


Actual results:

The sound is mono


Expected results:

It should have been stereo. One channel having the microphone the other silence.

I have tested my gear thoroughly and the fault seems to be in the browser.
Version: 29 Branch → 30 Branch
(In reply to Worik Stanton from comment #0)
> Actual results:
> The sound is mono
Sounds stereo to me in nightly 30.0a1 (2014-02-20), win 7 x64
Component: Web Audio → WebRTC: Audio/Video
Status: UNCONFIRMED → NEW
backlog: --- → webRTC+
Rank: 45
Ever confirmed: true
Priority: -- → P4
Summary: navigator.mozGetUserMedia({audio:true},... mixes stereo channels into mono → Support stereo capture in gUM
Attached file ff-stereo-gum.html
This attachment is an updated example demonstrating the lack of stereo audio capture support with getUserMedia.  It uses the MediaDevices.getUserMedia() method along with setting constraints to disable echo cancellation and setting channel count to 2.  Tested in Firefox v47.0a1.  For testing, I recommend using this audio file:  http://www.kozco.com/tech/LRMonoPhase4.wav  You can use a loopback audio driver (http://vb-audio.pagesperso-orange.fr/Cable/) to test without extra hardware.
I came here from bug #818618 and bug #1269019, since I could not manage to get a stereo signal transmitted via WebRTC from Firefox to Chrome. It works the other side around (by disabling echo cancellation in Chrome), but if I try the same in Firefox, I always get a mono signal. I'm using a virtual sound device (Soundflower on Mac) hooked to Ableton Live as an input signal.

Is there any work-around for getting a stereo signal from a device in Firefox? As being said, I'd like to transmit this via WebRTC to another peer. For my scenario (musicians), stereo support is crucial.
We need to things to capture stereo audio in gUM.

- Mono is hardcoded in https://dxr.mozilla.org/mozilla-central/source/dom/media/GraphDriver.cpp?from=GraphDriver.cpp#540
- Only code for mono is present in the MediaEngineWebRTCAudio code: https://dxr.mozilla.org/mozilla-central/source/dom/media/webrtc/MediaEngineWebRTCAudio.cpp#725

This might not be very hard. Also note that bug 1271585, with the proper constraints (to remove echo cancellation and other processing), make gUM skip the WebRTC processing code altogether, ensuring no loss at the bottom and high-end (there was a high pass and a resampling pass that destroyed a bunch of high frequency partials).
Whiteboard: platform-rel-Facebook
platform-rel: --- → +
Whiteboard: platform-rel-Facebook → [platform-rel-Facebook]
Comment on attachment 8859123 [details]
Bug 971528 - Expect stereo input in MediaEngineWebRTCMicrophoneSource.

https://reviewboard.mozilla.org/r/131168/#review133730

::: dom/media/webrtc/MediaEngineWebRTCAudio.cpp:618
(Diff revision 1)
> +        "GraphDriver only supports mono and stereo audio for now");
> +
>      nsAutoPtr<AudioSegment> segment(new AudioSegment());
> +    RefPtr<SharedBuffer> buffer =
> +      SharedBuffer::Create(aFrames * aChannels * sizeof(T));
>      AutoTArray<const T*, 1> channels;

Drop the const here.

::: dom/media/webrtc/MediaEngineWebRTCAudio.cpp:618
(Diff revision 1)
> +        "GraphDriver only supports mono and stereo audio for now");
> +
>      nsAutoPtr<AudioSegment> segment(new AudioSegment());
> +    RefPtr<SharedBuffer> buffer =
> +      SharedBuffer::Create(aFrames * aChannels * sizeof(T));
>      AutoTArray<const T*, 1> channels;

Make this `<T*, 2>`, so we have the right amount of storage on the stack and we can save an alloc.

::: dom/media/webrtc/MediaEngineWebRTCAudio.cpp:621
(Diff revision 1)
> +    RefPtr<SharedBuffer> buffer =
> +      SharedBuffer::Create(aFrames * aChannels * sizeof(T));
>      AutoTArray<const T*, 1> channels;
> -    // XXX Bug 971528 - Support stereo capture in gUM
> -    MOZ_ASSERT(aChannels == 1,
> -        "GraphDriver only supports us stereo audio for now");
> +    if (aChannels == 1) {
> +      PodCopy(static_cast<T*>(buffer->Data()),
> +              aBuffer, aFrames * aChannels);

aChannels is 1, and this is inside an `if()`, you can drop the multiplication.

::: dom/media/webrtc/MediaEngineWebRTCAudio.cpp:631
(Diff revision 1)
> +      channels[0] = samples;
> +      channels[1] = samples + aFrames;
> +      DeinterleaveAndConvertBuffer(aBuffer,
> +                                   aFrames,
> +                                   aChannels,
> +                                   const_cast<T**>(channels.Elements()));

Drop the `const_cast` here.
Attachment #8859123 - Flags: review?(padenot)
Comment on attachment 8859122 [details]
Bug 971528 - Allow stereo capture in AudioCallbackDriver.

https://reviewboard.mozilla.org/r/131166/#review133728

::: dom/media/GraphDriver.cpp:675
(Diff revision 1)
> +  if (mGraphImpl->mInputWanted) {
> +    StaticMutexAutoLock lock(AudioInputCubeb::Mutex());
> +    // Support stereo input when available
> +    uint32_t maxInputChannels = 0;
> +    if (AudioInputCubeb::GetDeviceMaxChannels(mGraphImpl->mInputDeviceID, maxInputChannels) == 0 &&
> +        maxInputChannels > 1) {

We should be more tight here, I think, `> 1` is not equal to `2`.
Attachment #8859122 - Flags: review?(padenot)
Assignee: nobody → achronop
Comment on attachment 8859122 [details]
Bug 971528 - Allow stereo capture in AudioCallbackDriver.

https://reviewboard.mozilla.org/r/131166/#review133728

> We should be more tight here, I think, `> 1` is not equal to `2`.

Since this method offers the max number of channels, if the device is capable of, let's say, 6 channels it can be configured for stereo. Is it wrong?
Comment on attachment 8859123 [details]
Bug 971528 - Expect stereo input in MediaEngineWebRTCMicrophoneSource.

https://reviewboard.mozilla.org/r/131168/#review133730

> Drop the const here.

The method segment->AppendFrames() requires nsTArray<const T *> on second argument. On the other hand the method DeinterleaveAndConvertBuffer() requires non const values. If I change it to AutoTArray<T*, 1> I will have to remove the const cast from the one method and add it to the other. Why do you think it should not be a const?

> Make this `<T*, 2>`, so we have the right amount of storage on the stack and we can save an alloc.

In that case when channel is mono we get more space than we need.

> Drop the `const_cast` here.

See reply above.
Comment on attachment 8859123 [details]
Bug 971528 - Expect stereo input in MediaEngineWebRTCMicrophoneSource.

We had chat on irc, clearing r? for now.
Attachment #8859123 - Flags: review?(padenot)
Comment on attachment 8859123 [details]
Bug 971528 - Expect stereo input in MediaEngineWebRTCMicrophoneSource.

https://reviewboard.mozilla.org/r/131168/#review135760
Attachment #8859123 - Flags: review?(padenot) → review+
Comment on attachment 8859122 [details]
Bug 971528 - Allow stereo capture in AudioCallbackDriver.

https://reviewboard.mozilla.org/r/131166/#review135800

::: dom/media/GraphDriver.cpp:672
(Diff revision 2)
> -  input.layout = CUBEB_LAYOUT_MONO;
> +  input.layout = CUBEB_LAYOUT_UNDEFINED;
> +
> +#ifdef MOZ_WEBRTC
> +  if (mGraphImpl->mInputWanted) {
> +    StaticMutexAutoLock lock(AudioInputCubeb::Mutex());
> +    // Support stereo input when available

Fix this comment that does not apply anymore.
Attachment #8859122 - Flags: review?(padenot) → review+
Pushed by achronop@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/cce59c2a2baa
Allow stereo capture in AudioCallbackDriver. r=padenot
https://hg.mozilla.org/integration/autoland/rev/e282e41cd599
Expect stereo input in MediaEngineWebRTCMicrophoneSource. r=padenot
Backed out for crashing in mda tests, e.g. dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html and browser-chrome mochitests:

https://hg.mozilla.org/integration/autoland/rev/f5c43a9f8510ad50cf45248fe306707aa059b991
https://hg.mozilla.org/integration/autoland/rev/f61b1bc0bee770b16ec3dac814ebd088d6044c5a

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=e282e41cd5997bb5e91340b863fcfaaad00597d8&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=93803546&repo=autoland

[task 2017-04-24T16:48:40.582970Z] 16:48:40     INFO - Using addStream.
[task 2017-04-24T16:48:40.584221Z] 16:48:40     INFO - PeerConnectionWrapper (pcLocal): "onnegotiationneeded" event fired
[task 2017-04-24T16:48:40.585403Z] 16:48:40     INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | addStream returns sender 
[task 2017-04-24T16:48:40.586728Z] 16:48:40     INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | track has id 
[task 2017-04-24T16:48:40.588168Z] 16:48:40     INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | track has kind 
[task 2017-04-24T16:48:40.589393Z] 16:48:40     INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | track has id 
[task 2017-04-24T16:48:40.590439Z] 16:48:40     INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | track has kind 
[task 2017-04-24T16:48:40.591419Z] 16:48:40     INFO - Run step 15: PC_REMOTE_GUM
[task 2017-04-24T16:48:40.592847Z] 16:48:40     INFO - Get 1 local streams
[task 2017-04-24T16:48:40.593547Z] 16:48:40     INFO - Call getUserMedia for {"audio":true,"video":true}
[task 2017-04-24T16:48:40.598126Z] 16:48:40     INFO - Buffered messages finished
[task 2017-04-24T16:48:40.598834Z] 16:48:40     INFO - TEST-UNEXPECTED-TIMEOUT | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | application timed out after 330 seconds with no output
[task 2017-04-24T16:48:40.600258Z] 16:48:40    ERROR - Force-terminating active process(es).
[task 2017-04-24T16:48:40.600385Z] 16:48:40     INFO - Determining child pids from psutil
[task 2017-04-24T16:48:40.601429Z] 16:48:40     INFO - Found child pids: []
[task 2017-04-24T16:48:40.601951Z] 16:48:40     INFO - Killing process: 2985
[task 2017-04-24T16:48:40.602044Z] 16:48:40     INFO - TEST-INFO | started process screentopng
[task 2017-04-24T16:48:40.880099Z] 16:48:40     INFO - TEST-INFO | screentopng: exit 0
[task 2017-04-24T16:48:41.097793Z] 16:48:41     INFO - TEST-INFO | Main app process: exit 6
[task 2017-04-24T16:48:41.097979Z] 16:48:41     INFO - Buffered messages finished
[task 2017-04-24T16:48:41.098091Z] 16:48:41    ERROR - TEST-UNEXPECTED-FAIL | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | application terminated with exit code 6
[task 2017-04-24T16:48:41.099555Z] 16:48:41     INFO - runtests.py | Application ran for: 0:06:05.229235
[task 2017-04-24T16:48:41.099659Z] 16:48:41     INFO - zombiecheck | Reading PID log: /tmp/tmplEym5mpidlog
[task 2017-04-24T16:48:41.100202Z] 16:48:41     INFO - ==> process 2985 launched child process 3007
[task 2017-04-24T16:48:41.100295Z] 16:48:41     INFO - ==> process 2985 launched child process 3046
[task 2017-04-24T16:48:41.101176Z] 16:48:41     INFO - zombiecheck | Checking for orphan process with PID: 3007
[task 2017-04-24T16:48:41.102345Z] 16:48:41     INFO - zombiecheck | Checking for orphan process with PID: 3046
[task 2017-04-24T16:48:41.104003Z] 16:48:41     INFO - mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmpgSHOlL.mozrunner/minidumps/5ae11828-4ff8-7fe6-b208-e062abea0a35.dmp /home/worker/workspace/build/symbols
[task 2017-04-24T16:48:48.393077Z] 16:48:48     INFO - mozcrash Saved minidump as /home/worker/workspace/build/blobber_upload_dir/5ae11828-4ff8-7fe6-b208-e062abea0a35.dmp
[task 2017-04-24T16:48:48.394296Z] 16:48:48     INFO - mozcrash Saved app info as /home/worker/workspace/build/blobber_upload_dir/5ae11828-4ff8-7fe6-b208-e062abea0a35.extra
[task 2017-04-24T16:48:48.736405Z] 16:48:48     INFO - PROCESS-CRASH | dom/media/tests/mochitest/identity/test_peerConnection_asymmetricIsolation.html | application crashed [@ linux-gate.so + 0x440]
[task 2017-04-24T16:48:48.737311Z] 16:48:48     INFO - Crash dump filename: /tmp/tmpgSHOlL.mozrunner/minidumps/5ae11828-4ff8-7fe6-b208-e062abea0a35.dmp
[task 2017-04-24T16:48:48.737993Z] 16:48:48     INFO - Operating system: Linux
[task 2017-04-24T16:48:48.738833Z] 16:48:48     INFO -                   0.0.0 Linux 3.13.0-112-generic #159-Ubuntu SMP Fri Mar 3 15:26:07 UTC 2017 x86_64
[task 2017-04-24T16:48:48.739405Z] 16:48:48     INFO - CPU: x86
[task 2017-04-24T16:48:48.739739Z] 16:48:48     INFO -      GenuineIntel family 6 model 62 stepping 4
[task 2017-04-24T16:48:48.740552Z] 16:48:48     INFO -      2 CPUs
[task 2017-04-24T16:48:48.741106Z] 16:48:48     INFO - 
[task 2017-04-24T16:48:48.741405Z] 16:48:48     INFO - GPU: UNKNOWN
[task 2017-04-24T16:48:48.742102Z] 16:48:48     INFO - 
[task 2017-04-24T16:48:48.742828Z] 16:48:48     INFO - Crash reason:  SIGABRT
[task 2017-04-24T16:48:48.743437Z] 16:48:48     INFO - Crash address: 0x405
[task 2017-04-24T16:48:48.744129Z] 16:48:48     INFO - Process uptime: not available
[task 2017-04-24T16:48:48.744809Z] 16:48:48     INFO - 
[task 2017-04-24T16:48:48.745491Z] 16:48:48     INFO - Thread 0 (crashed)
[task 2017-04-24T16:48:48.745953Z] 16:48:48     INFO -  0  linux-gate.so + 0x440
[task 2017-04-24T16:48:48.746354Z] 16:48:48     INFO -     eip = 0xf7731440   esp = 0xfffbd2d4   ebp = 0xfffbd338   ebx = 0xe1a45a00
[task 2017-04-24T16:48:48.747340Z] 16:48:48     INFO -     esi = 0xf71298d0   edi = 0xe1a45a00   eax = 0xfffffffc   ecx = 0x00000005
[task 2017-04-24T16:48:48.747759Z] 16:48:48     INFO -     edx = 0xffffffff   efl = 0x00000296
[task 2017-04-24T16:48:48.748449Z] 16:48:48     INFO -     Found by: given as instruction pointer in context
[task 2017-04-24T16:48:48.749055Z] 16:48:48     INFO -  1  libglib-2.0.so.0.4800.2 + 0x4711c
[task 2017-04-24T16:48:48.749370Z] 16:48:48     INFO -     eip = 0xf5dcc11c   esp = 0xfffbd340   ebp = 0x00000005
[task 2017-04-24T16:48:48.750111Z] 16:48:48     INFO -     Found by: previous frame's frame pointer
[task 2017-04-24T16:48:48.750662Z] 16:48:48     INFO -  2  libglib-2.0.so.0.4800.2 + 0x8cfec
[task 2017-04-24T16:48:48.750996Z] 16:48:48     INFO -     eip = 0xf5e11fec   esp = 0xfffbd350   ebp = 0x00000005
[task 2017-04-24T16:48:48.751243Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.751550Z] 16:48:48     INFO -  3  libxul.so!OnFlushEvents [nsAppShell.cpp:e282e41cd599 : 83 + 0x5]
[task 2017-04-24T16:48:48.752318Z] 16:48:48     INFO -     eip = 0xf1fa4bac   esp = 0xfffbd354   ebp = 0x00000005
[task 2017-04-24T16:48:48.752890Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.753253Z] 16:48:48     INFO -  4  libglib-2.0.so.0.4800.2 + 0x1285b0
[task 2017-04-24T16:48:48.754013Z] 16:48:48     INFO -     eip = 0xf5ead5b0   esp = 0xfffbd364   ebp = 0x00000005
[task 2017-04-24T16:48:48.754528Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.755182Z] 16:48:48     INFO -  5  libxul.so!_fini + 0x19b2dc4
[task 2017-04-24T16:48:48.755961Z] 16:48:48     INFO -     eip = 0xf559bc3c   esp = 0xfffbd374   ebp = 0x00000005
[task 2017-04-24T16:48:48.756708Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.757280Z] 16:48:48     INFO -  6  libglib-2.0.so.0.4800.2 + 0x46f8d
[task 2017-04-24T16:48:48.757673Z] 16:48:48     INFO -     eip = 0xf5dcbf8d   esp = 0xfffbd37c   ebp = 0xfffbd3a8
[task 2017-04-24T16:48:48.758401Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.758969Z] 16:48:48     INFO -  7  libxul.so!nsAppShell::ProcessNextNativeEvent [nsAppShell.cpp:e282e41cd599 : 271 + 0xc]
[task 2017-04-24T16:48:48.759513Z] 16:48:48     INFO -     eip = 0xf1fa4c42   esp = 0xfffbd3b0   ebp = 0x00000000
[task 2017-04-24T16:48:48.760124Z] 16:48:48     INFO -     Found by: previous frame's frame pointer
[task 2017-04-24T16:48:48.760674Z] 16:48:48     INFO -  8  libc-2.23.so + 0xf4142
[task 2017-04-24T16:48:48.761315Z] 16:48:48     INFO -     eip = 0xf7413142   esp = 0xfffbd3c0   ebp = 0x00000000
[task 2017-04-24T16:48:48.762125Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.762710Z] 16:48:48     INFO -  9  libxul.so!_fini + 0x19b2dc4
[task 2017-04-24T16:48:48.763385Z] 16:48:48     INFO -     eip = 0xf559bc3c   esp = 0xfffbd3c8   ebp = 0x00000000
[task 2017-04-24T16:48:48.763835Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.764247Z] 16:48:48     INFO - 10  libxul.so!nsBaseAppShell::DoProcessNextNativeEvent [nsBaseAppShell.cpp:e282e41cd599 : 138 + 0xd]
[task 2017-04-24T16:48:48.764944Z] 16:48:48     INFO -     eip = 0xf1f75498   esp = 0xfffbd3d0   ebp = 0xfffbd3f8
[task 2017-04-24T16:48:48.765255Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.766152Z] 16:48:48     INFO - 11  libxul.so!nsBaseAppShell::OnProcessNextEvent [nsBaseAppShell.cpp:e282e41cd599 : 289 + 0xd]
[task 2017-04-24T16:48:48.766873Z] 16:48:48     INFO -     eip = 0xf1f78bc7   esp = 0xfffbd400   ebp = 0xfffbd438   esi = 0xeab41790
[task 2017-04-24T16:48:48.767463Z] 16:48:48     INFO -     edi = 0x00bbca68
[task 2017-04-24T16:48:48.767947Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.768267Z] 16:48:48     INFO - 12  libxul.so!nsThread::ProcessNextEvent [nsThread.cpp:e282e41cd599 : 1226 + 0xd]
[task 2017-04-24T16:48:48.768851Z] 16:48:48     INFO -     eip = 0xf04722a0   esp = 0xfffbd440   ebp = 0xfffbd4d8   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.769406Z] 16:48:48     INFO -     esi = 0xf71543c0   edi = 0xf55a04f0
[task 2017-04-24T16:48:48.769977Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.770560Z] 16:48:48     INFO - 13  libxul.so!NS_ProcessNextEvent [nsThreadUtils.cpp:e282e41cd599 : 393 + 0x10]
[task 2017-04-24T16:48:48.771104Z] 16:48:48     INFO -     eip = 0xf0474810   esp = 0xfffbd4e0   ebp = 0xfffbd518   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.771670Z] 16:48:48     INFO -     esi = 0xf71543c0   edi = 0xf71248a0
[task 2017-04-24T16:48:48.772191Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.772817Z] 16:48:48     INFO - 14  libxul.so!mozilla::ipc::MessagePump::Run [MessagePump.cpp:e282e41cd599 : 124 + 0xc]
[task 2017-04-24T16:48:48.773413Z] 16:48:48     INFO -     eip = 0xf08316b4   esp = 0xfffbd520   ebp = 0xfffbd568   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.773925Z] 16:48:48     INFO -     esi = 0xf71f64f0   edi = 0xf71248a0
[task 2017-04-24T16:48:48.774506Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.775067Z] 16:48:48     INFO - 15  libxul.so!MessageLoop::RunInternal [message_loop.cc:e282e41cd599 : 238 + 0x14]
[task 2017-04-24T16:48:48.775688Z] 16:48:48     INFO -     eip = 0xf07ffe8e   esp = 0xfffbd570   ebp = 0xfffbd598   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.776184Z] 16:48:48     INFO -     esi = 0xf71248a0   edi = 0xf71543c0
[task 2017-04-24T16:48:48.776750Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.777301Z] 16:48:48     INFO - 16  libxul.so!MessageLoop::Run [message_loop.cc:e282e41cd599 : 231 + 0x7]
[task 2017-04-24T16:48:48.777890Z] 16:48:48     INFO -     eip = 0xf07ffeb3   esp = 0xfffbd5a0   ebp = 0xfffbd5c8   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.778251Z] 16:48:48     INFO -     esi = 0xf71248a0   edi = 0xf71543c0
[task 2017-04-24T16:48:48.778978Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.781190Z] 16:48:48     INFO - 17  libxul.so!nsBaseAppShell::Run [nsBaseAppShell.cpp:e282e41cd599 : 156 + 0xe]
[task 2017-04-24T16:48:48.781789Z] 16:48:48     INFO -     eip = 0xf1f72ac1   esp = 0xfffbd5d0   ebp = 0xfffbd5f8   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.782387Z] 16:48:48     INFO -     esi = 0xeab41790   edi = 0xf71543c0
[task 2017-04-24T16:48:48.782939Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.783572Z] 16:48:48     INFO - 18  libxul.so!nsAppStartup::Run [nsAppStartup.cpp:e282e41cd599 : 283 + 0x9]
[task 2017-04-24T16:48:48.784119Z] 16:48:48     INFO -     eip = 0xf2d3235e   esp = 0xfffbd600   ebp = 0xfffbd618   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.784448Z] 16:48:48     INFO -     esi = 0xec536fa0   edi = 0xf43b17a0
[task 2017-04-24T16:48:48.785041Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.785872Z] 16:48:48     INFO - 19  libxul.so!XREMain::XRE_mainRun [nsAppRunner.cpp:e282e41cd599 : 4542 + 0x16]
[task 2017-04-24T16:48:48.786665Z] 16:48:48     INFO -     eip = 0xf2db346a   esp = 0xfffbd620   ebp = 0xfffbd718   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.787280Z] 16:48:48     INFO -     esi = 0xfffbd6ac   edi = 0xf43b17a0
[task 2017-04-24T16:48:48.787842Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.788392Z] 16:48:48     INFO - 20  libxul.so!XREMain::XRE_main [nsAppRunner.cpp:e282e41cd599 : 4722 + 0x9]
[task 2017-04-24T16:48:48.788848Z] 16:48:48     INFO -     eip = 0xf2db3bc5   esp = 0xfffbd720   ebp = 0xfffbd798   ebx = 0xf559bc3c
[task 2017-04-24T16:48:48.789518Z] 16:48:48     INFO -     esi = 0xfffbd7dc   edi = 0x00000001
[task 2017-04-24T16:48:48.790188Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.790991Z] 16:48:48     INFO - 21  libxul.so!XRE_main [nsAppRunner.cpp:e282e41cd599 : 4815 + 0x6]
[task 2017-04-24T16:48:48.791456Z] 16:48:48     INFO -     eip = 0xf2db3e7a   esp = 0xfffbd7a0   ebp = 0xfffbd908   ebx = 0x08070228
[task 2017-04-24T16:48:48.791998Z] 16:48:48     INFO -     esi = 0xfffbd7dc   edi = 0xfffbea44
[task 2017-04-24T16:48:48.792277Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.793145Z] 16:48:48     INFO - 22  firefox!do_main [nsBrowserApp.cpp:e282e41cd599 : 236 + 0x21]
[task 2017-04-24T16:48:48.793957Z] 16:48:48     INFO -     eip = 0x0804d51d   esp = 0xfffbd910   ebp = 0xfffbe948   ebx = 0x08070228
[task 2017-04-24T16:48:48.794319Z] 16:48:48     INFO -     esi = 0x00000005   edi = 0xfffbea44
[task 2017-04-24T16:48:48.795038Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.795565Z] 16:48:48     INFO - 23  firefox!main [nsBrowserApp.cpp:e282e41cd599 : 307 + 0xe]
[task 2017-04-24T16:48:48.796206Z] 16:48:48     INFO -     eip = 0x0804cd3d   esp = 0xfffbe950   ebp = 0xfffbe998   ebx = 0x08070228
[task 2017-04-24T16:48:48.796967Z] 16:48:48     INFO -     esi = 0xfffbea44   edi = 0x08070448
[task 2017-04-24T16:48:48.797264Z] 16:48:48     INFO -     Found by: call frame info
[task 2017-04-24T16:48:48.798033Z] 16:48:48     INFO - 24  libc-2.23.so + 0x18637
[task 2017-04-24T16:48:48.798492Z] 16:48:48     INFO -     eip = 0xf7337637   esp = 0xfffbe9a0   ebp = 0x00000000
[task 2017-04-24T16:48:48.798837Z] 16:48:48     INFO -     Found by: previous frame's frame pointer
[task 2017-04-24T16:48:48.799572Z] 16:48:48     INFO - 25  libc-2.23.so + 0x1b2000
[task 2017-04-24T16:48:48.800012Z] 16:48:48     INFO -     eip = 0xf74d1000   esp = 0xfffbe9a4   ebp = 0x00000000
[task 2017-04-24T16:48:48.800487Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.801070Z] 16:48:48     INFO - 26  libc-2.23.so + 0x1b2000
[task 2017-04-24T16:48:48.801641Z] 16:48:48     INFO -     eip = 0xf74d1000   esp = 0xfffbe9a8   ebp = 0x00000000
[task 2017-04-24T16:48:48.802194Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.802785Z] 16:48:48     INFO - 27  libc-2.23.so + 0x18637
[task 2017-04-24T16:48:48.803375Z] 16:48:48     INFO -     eip = 0xf7337637   esp = 0xfffbe9b0   ebp = 0x00000000
[task 2017-04-24T16:48:48.803974Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.804613Z] 16:48:48     INFO - 28  libc-2.23.so + 0x1b2000
[task 2017-04-24T16:48:48.805129Z] 16:48:48     INFO -     eip = 0xf74d1000   esp = 0xfffbe9cc   ebp = 0x00000000
[task 2017-04-24T16:48:48.805596Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.806071Z] 16:48:48     INFO - 29  libc-2.23.so + 0x1b2000
[task 2017-04-24T16:48:48.806667Z] 16:48:48     INFO -     eip = 0xf74d1000   esp = 0xfffbe9dc   ebp = 0x00000000
[task 2017-04-24T16:48:48.807152Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.807602Z] 16:48:48     INFO - 30  libc-2.23.so + 0x1b2000
[task 2017-04-24T16:48:48.808204Z] 16:48:48     INFO -     eip = 0xf74d1000   esp = 0xfffbe9e0   ebp = 0x00000000
[task 2017-04-24T16:48:48.808563Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.809129Z] 16:48:48     INFO - 31  firefox + 0x4fe4
[task 2017-04-24T16:48:48.809705Z] 16:48:48     INFO -     eip = 0x0804cfe4   esp = 0xfffbea00   ebp = 0x00000000
[task 2017-04-24T16:48:48.810345Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.811038Z] 16:48:48     INFO - 32  ld-2.23.so + 0x14f10
[task 2017-04-24T16:48:48.811389Z] 16:48:48     INFO -     eip = 0xf7723f10   esp = 0xfffbea08   ebp = 0x00000000
[task 2017-04-24T16:48:48.811873Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.812296Z] 16:48:48     INFO - 33  ld-2.23.so + 0xf780
[task 2017-04-24T16:48:48.812771Z] 16:48:48     INFO -     eip = 0xf771e780   esp = 0xfffbea0c   ebp = 0x00000000
[task 2017-04-24T16:48:48.813320Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.813698Z] 16:48:48     INFO - 34  firefox + 0x4fe4
[task 2017-04-24T16:48:48.814238Z] 16:48:48     INFO -     eip = 0x0804cfe4   esp = 0xfffbea18   ebp = 0x00000000
[task 2017-04-24T16:48:48.814929Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.815564Z] 16:48:48     INFO - 35  firefox!_start + 0x21
[task 2017-04-24T16:48:48.816204Z] 16:48:48     INFO -     eip = 0x0804d005   esp = 0xfffbea20   ebp = 0x00000000
[task 2017-04-24T16:48:48.816470Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.816862Z] 16:48:48     INFO - 36  firefox!SSE2Check [nsBrowserApp.cpp:e282e41cd599 : 92 + 0x8]
[task 2017-04-24T16:48:48.817266Z] 16:48:48     INFO -     eip = 0x0804cc91   esp = 0xfffbea24   ebp = 0x00000000
[task 2017-04-24T16:48:48.817638Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.818074Z] 16:48:48     INFO - 37  firefox!__libc_csu_fini + 0x10
[task 2017-04-24T16:48:48.818457Z] 16:48:48     INFO -     eip = 0x08066510   esp = 0xfffbea30   ebp = 0xfffbea44
[task 2017-04-24T16:48:48.818863Z] 16:48:48     INFO -     Found by: stack scanning
[task 2017-04-24T16:48:48.819253Z] 16:48:48     INFO - 38  0xfffbf51e
[task 2017-04-24T16:48:48.819652Z] 16:48:48     INFO -     eip = 0xfffbf51e   esp = 0xfffbea4c   ebp = 0xfffbf4e5
[task 2017-04-24T16:48:48.820124Z] 16:48:48     INFO -     Found by: previous frame's frame pointer
[task 2017-04-24T16:48:48.820491Z] 16:48:48     INFO - 39  0x6f772f65
[task 2017-04-24T16:48:48.820867Z] 16:48:48     INFO -     eip = 0x6f772f65   esp = 0xfffbf4ed   ebp = 0x6d6f682f
[task 2017-04-24T16:48:48.821318Z] 16:48:48     INFO -     Found by: previous frame's frame pointer
Flags: needinfo?(achronop)
Comment on attachment 8861347 [details]
Bug 971528 - Fix backout issue.

I've looked at this upstream.
Attachment #8861347 - Flags: review?(padenot)
Attachment #8861347 - Attachment is obsolete: true
Pushed by achronop@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/e0bab3ab79ff
Allow stereo capture in AudioCallbackDriver. r=padenot
https://hg.mozilla.org/integration/autoland/rev/b1eaf2cd0068
Expect stereo input in MediaEngineWebRTCMicrophoneSource. r=padenot
Flags: needinfo?(achronop)
backed out for causing asan issues like https://treeherder.mozilla.org/logviewer.html#?job_id=94773624&repo=autoland
Flags: needinfo?(achronop)
Backout by kwierso@gmail.com:
https://hg.mozilla.org/mozilla-central/rev/b3f24661da3b
Backed out changeset b1eaf2cd0068 
https://hg.mozilla.org/mozilla-central/rev/df784708d068
Backed out changeset e0bab3ab79ff for asan mda failures on a CLOSED TREE
Depends on: 1367646
Flags: needinfo?(achronop)
Comment on attachment 8872316 [details]
Bug 971528 - Allocate given number of channels for WebRTC mic source.

https://reviewboard.mozilla.org/r/143820/#review148806
Attachment #8872316 - Flags: review?(rjesup) → review+
Pushed by achronop@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/4481be95f232
Allow stereo capture in AudioCallbackDriver. r=padenot
https://hg.mozilla.org/integration/autoland/rev/c37d2cdef062
Expect stereo input in MediaEngineWebRTCMicrophoneSource. r=padenot
https://hg.mozilla.org/integration/autoland/rev/08a538f6350b
Allocate given number of channels for WebRTC mic source. r=jesup
Backed out for build bustage:

https://hg.mozilla.org/integration/autoland/rev/6c3dd2bfed0ae70695807a49150808a85d7fc368
https://hg.mozilla.org/integration/autoland/rev/1500c30b6a53ae7191086603cddf77b0b4567755
https://hg.mozilla.org/integration/autoland/rev/9e3fba916ae2f3773c49d32673dee1ddff60a33c

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=08a538f6350be53424c64b7d36f2be2c332dafbb&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=103749214&repo=autoland

[task 2017-06-01T16:21:20.048159Z] 16:21:20     INFO -  In file included from /home/worker/workspace/build/src/dom/media/webrtc/MediaEngineWebRTC.cpp:17:
[task 2017-06-01T16:21:20.048264Z] 16:21:20     INFO -  /home/worker/workspace/build/src/dom/media/webrtc/MediaEngineWebRTC.h:279:9: error: invalid argument type 'cubeb_device_collection' to unary expression
[task 2017-06-01T16:21:20.048301Z] 16:21:20     INFO -      if (!mDevices || devindex < 0) {
[task 2017-06-01T16:21:20.048326Z] 16:21:20     INFO -          ^~~~~~~~~
[task 2017-06-01T16:21:20.049225Z] 16:21:20     INFO -  /home/worker/workspace/build/src/dom/media/webrtc/MediaEngineWebRTC.h:282:25: error: member reference type 'cubeb_device_collection' is not a pointer; did you mean to use '.'?
[task 2017-06-01T16:21:20.049291Z] 16:21:20     INFO -      aChannels = mDevices->device[devindex]->max_channels;
[task 2017-06-01T16:21:20.049643Z] 16:21:20     INFO -                  ~~~~~~~~^~
[task 2017-06-01T16:21:20.050315Z] 16:21:20     INFO -                          .
[task 2017-06-01T16:21:20.050751Z] 16:21:20     INFO -  /home/worker/workspace/build/src/dom/media/webrtc/MediaEngineWebRTC.h:282:43: error: member reference type 'cubeb_device_info' is not a pointer; did you mean to use '.'?
[task 2017-06-01T16:21:20.051261Z] 16:21:20     INFO -      aChannels = mDevices->device[devindex]->max_channels;
[task 2017-06-01T16:21:20.051742Z] 16:21:20     INFO -
Flags: needinfo?(achronop)
Pushed by achronop@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/da4097e1d4ef
Allow stereo capture in AudioCallbackDriver. r=padenot
https://hg.mozilla.org/integration/autoland/rev/f655c216934b
Expect stereo input in MediaEngineWebRTCMicrophoneSource. r=padenot
https://hg.mozilla.org/integration/autoland/rev/73260f7c6dae
Allocate given number of channels for WebRTC mic source. r=jesup
Flags: needinfo?(achronop)
See Also: → 1393401
No longer depends on: 1407088
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: