Closed Bug 971528 Opened 11 years ago Closed 8 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)
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: