SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/media/webrtc/trunk/webrtc/modules/audio_processing/aec/echo_cancellation.cc:131:43 in webrtc::WebRtcAec_Create()
Categories
(Core :: WebRTC: Audio/Video, defect, P5)
Tracking
()
People
(Reporter: intermittent-bug-filer, Assigned: padenot)
References
Details
Attachments
(7 files)
12.40 KB,
text/plain
|
Details | |
12.41 KB,
text/plain
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
42.95 KB,
text/plain
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Filed by: bcampen [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=311427427&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Tj6fDsfMQXWQioRT1H82lw/runs/0/artifacts/public/logs/live_backing.log
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Looks like multiple threads are accessing this:
We did not manage to restore the other stack, and searchfox is having trouble figuring out where this variable is accessed for some reason, possibly because we're accessing a static member variable with "->"? Doing a text search, I don't see anything using this besides WebRtcAec_Create:
Looks like more than one thread is calling this.
Comment 2•4 years ago
|
||
Current code in Chromium looks similar.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 3•4 years ago
•
|
||
The stacks for this one.
Comment hidden (obsolete) |
Assignee | ||
Comment 5•4 years ago
|
||
The real cause for this is that we're not doing input processing in the graph runner thread, but on the audioipc/audio callback thread. The problem is that we run control messages from the graph runner thread, so we reconfigure the aec from the graph runner thread.
This is all synchronized via the graph runner lock. It would be best however to do everything in the graph runner thread.
Assignee | ||
Comment 6•4 years ago
|
||
Comment hidden (Intermittent Failures Robot) |
Updated•4 years ago
|
Pushed by padenot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e8dd0a07098b Do the processing for audio input data on the graph runner thread and not the audio callback thread. r=pehrsons
Comment 9•4 years ago
|
||
bugherder |
Comment 10•4 years ago
|
||
Read of size 4 at 0x7fa2380759b0 by thread T77 (mutexes: write M405459446912339208, write M414185342989784144, write M414466817966494856):
#0 webrtc::WebRtcAec_Create() /builds/worker/checkouts/gecko/media/webrtc/trunk/webrtc/modules/audio_processing/aec/echo_cancellation.cc:131:43 (libxul.so+0x5df666e)
#1 Canceller /builds/worker/checkouts/gecko/media/webrtc/trunk/webrtc/modules/audio_processing/echo_cancellation_impl.cc:83:14 (libxul.so+0x5e06f68)
#2 webrtc::EchoCancellationImpl::Initialize(int, unsigned long, unsigned long, unsigned long) /builds/worker/checkouts/gecko/media/webrtc/trunk/webrtc/modules/audio_processing/echo_cancellation_impl.cc:433:32 (libxul.so+0x5e06f68)
#3 webrtc::EchoCancellationImpl::Enable(bool) /builds/worker/checkouts/gecko/media/webrtc/trunk/webrtc/modules/audio_processing/echo_cancellation_impl.cc:220:5 (libxul.so+0x5e06d6f)
#4 mozilla::AudioInputProcessing::UpdateAECSettings(bool, bool, webrtc::EchoCancellation::SuppressionLevel, webrtc::EchoControlMobile::RoutingMode) /builds/worker/checkouts/gecko/dom/media/webrtc/MediaEngineWebRTCAudio.cpp:707:5 (libxul.so+0x40f7e22)
#5 mozilla::MediaEngineWebRTCMicrophoneSource::UpdateAECSettings(bool, bool, webrtc::EchoCancellation::SuppressionLevel, webrtc::EchoControlMobile::RoutingMode)::$_10::operator()() const::Message::Run() /builds/worker/checkouts/gecko/dom/media/webrtc/MediaEngineWebRTCAudio.cpp:189:31 (libxul.so+0x410ac26)
#6 mozilla::MediaTrackGraphImpl::RunMessagesInQueue() /builds/worker/checkouts/gecko/dom/media/MediaTrackGraph.cpp:1151:20 (libxul.so+0x3d652f8)
#7 mozilla::MediaTrackGraphImpl::OneIterationImpl(long, long, mozilla::AudioMixer*) /builds/worker/checkouts/gecko/dom/media/MediaTrackGraph.cpp:1394:3 (libxul.so+0x3d672d7)
#8 mozilla::GraphRunner::Run() /builds/worker/checkouts/gecko/dom/media/GraphRunner.cpp:114:32 (libxul.so+0x3c00f20)
#9 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1234:14 (libxul.so+0xb23bdb)
#10 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:513:10 (libxul.so+0xb28dd2)
#11 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:302:20 (libxul.so+0x13f586e)
#12 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x138429c)
#13 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x138429c)
#14 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x138429c)
#15 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:447:10 (libxul.so+0xb1fc65)
#16 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x44daf)
Previous write of size 4 at 0x7fa2380759b0 by thread T27:
[failed to restore the stack]
Location is global 'webrtc::Aec::instance_count' of size 4 at 0x7fa2380759b0 (libxul.so+0x00000b50a9b0)
Mutex M405459446912339208 is already destroyed.
Mutex M414185342989784144 is already destroyed.
Mutex M414466817966494856 is already destroyed.
Thread T77 'GraphRunner' (tid=2755, running) created by main thread at:
#0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (firefox+0x584eb)
#1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x3bfb3)
#2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x308e2)
#3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:659:8 (libxul.so+0xb2122e)
#4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, unsigned int, nsIThread**) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadManager.cpp:629:12 (libxul.so+0xb284ca)
#5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, unsigned int) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:161:57 (libxul.so+0xb2e958)
#6 NS_NewNamedThread<12> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:85:10 (libxul.so+0x3c006a4)
#7 mozilla::GraphRunner::Create(mozilla::MediaTrackGraphImpl*) /builds/worker/checkouts/gecko/dom/media/GraphRunner.cpp:37:7 (libxul.so+0x3c006a4)
#8 mozilla::MediaTrackGraphImpl::MediaTrackGraphImpl(mozilla::MediaTrackGraph::GraphDriverType, mozilla::MediaTrackGraph::GraphRunType, int, unsigned int, void const*, mozilla::AbstractThread*) /builds/worker/checkouts/gecko/dom/media/MediaTrackGraph.cpp:3007:26 (libxul.so+0x3d6eee6)
#9 mozilla::MediaTrackGraph::GetInstance(mozilla::MediaTrackGraph::GraphDriverType, nsPIDOMWindowInner*, int, void const*) /builds/worker/checkouts/gecko/dom/media/MediaTrackGraph.cpp:3146:17 (libxul.so+0x3d6f6ce)
#10 mozilla::GetUserMediaStreamRunnable::Run() /builds/worker/checkouts/gecko/dom/media/MediaManager.cpp:1199:28 (libxul.so+0x3d36f8e)
#11 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:242:16 (libxul.so+0xb0d077)
#12 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:512:26 (libxul.so+0xb0a8b5)
#13 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:371:15 (libxul.so+0xb09546)
#14 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:168:36 (libxul.so+0xb097e4)
#15 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:83:37 (libxul.so+0xb10cc4)
#16 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_4>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:577:5 (libxul.so+0xb10cc4)
#17 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1234:14 (libxul.so+0xb23970)
#18 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:513:10 (libxul.so+0xb28dd2)
#19 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x13f4d69)
#20 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:270:30 (libxul.so+0x13f577b)
#21 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x138429c)
#22 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x138429c)
#23 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x138429c)
#24 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x4925273)
#25 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:913:20 (libxul.so+0x6560a99)
#26 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:237:9 (libxul.so+0x13f572a)
#27 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x138429c)
#28 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x138429c)
#29 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x138429c)
#30 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:744:34 (libxul.so+0x6560819)
#31 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x6568922)
#32 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28 (firefox+0xca0d7)
#33 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:303:18 (firefox+0xca0d7)
Thread T27 'AudioIPC0' (tid=2116, running) created by thread T24 at:
#0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (firefox+0x584eb)
#1 std::sys::unix::thread::Thread::new::h77964362e8ddd9a4 /rustc/dd67187965e136bff1ed05e035293441c60f0790/src/libstd/sys/unix/thread.rs:68:19 (libxul.so+0x7e00b41)
#2 cubeb_backend::capi::capi_init::hc5b21a181ddfb099 /builds/worker/checkouts/gecko/third_party/rust/cubeb-backend/src/capi.rs:68:25 (libxul.so+0x757145f)
#3 audioipc_client_init /builds/worker/checkouts/gecko/media/audioipc/client/src/lib.rs:83:5 (libxul.so+0x757145f)
#4 cubeb_backend::capi::capi_init::hc5b21a181ddfb099 /builds/worker/checkouts/gecko/third_party/rust/cubeb-backend/src/capi.rs:68:25 (libxul.so+0x757145f)
#5 audioipc_client_init /builds/worker/checkouts/gecko/media/audioipc/client/src/lib.rs:83:5 (libxul.so+0x757145f)
#6 mozilla::CubebUtils::GetCubebContextUnlocked() /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:498:9 (libxul.so+0x3b95387)
#7 mozilla::CubebUtils::GetCubebContext() /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:298:10 (libxul.so+0x3b95028)
#8 mozilla::CubebDeviceEnumerator::CubebDeviceEnumerator() /builds/worker/checkouts/gecko/dom/media/webrtc/CubebDeviceEnumerator.cpp:62:9 (libxul.so+0x40e47a2)
#9 mozilla::CubebDeviceEnumerator::GetInstance() /builds/worker/checkouts/gecko/dom/media/webrtc/CubebDeviceEnumerator.cpp:30:21 (libxul.so+0x40e4430)
#10 GetEnumerator /builds/worker/checkouts/gecko/dom/media/webrtc/MediaEngineWebRTC.cpp:32:10 (libxul.so+0x40e6056)
#11 mozilla::MediaEngineWebRTC::MediaEngineWebRTC(mozilla::MediaEnginePrefs&) /builds/worker/checkouts/gecko/dom/media/webrtc/MediaEngineWebRTC.cpp:45:7 (libxul.so+0x40e6056)
#12 mozilla::MediaManager::GetBackend() /builds/worker/checkouts/gecko/dom/media/MediaManager.cpp:3340:20 (libxul.so+0x3c72561)
#13 operator() /builds/worker/checkouts/gecko/dom/media/MediaManager.cpp:1802:30 (libxul.so+0x3d2d5c6)
#14 mozilla::media::LambdaTask<mozilla::MediaManager::EnumerateRawDevices(unsigned long, mozilla::dom::MediaSourceEnum, mozilla::dom::MediaSourceEnum, mozilla::MediaSinkEnum, mozilla::MediaManager::DeviceEnumerationType, mozilla::MediaManager::DeviceEnumerationType, bool, RefPtr<mozilla::media::Refcountable<nsTArray<RefPtr<mozilla::MediaDevice> > > > const&)::$_67>::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/media/MediaTaskUtils.h:32:5 (libxul.so+0x3d2d5c6)
#15 mozilla::TaskQueue::Runner::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskQueue.cpp:158:20 (libxul.so+0xb12f22)
#16 nsThreadPool::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadPool.cpp:299:14 (libxul.so+0xb2b286)
#17 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1234:14 (libxul.so+0xb23bdb)
#18 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:513:10 (libxul.so+0xb28dd2)
#19 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:302:20 (libxul.so+0x13f586e)
#20 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:334:10 (libxul.so+0x138429c)
#21 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:327:3 (libxul.so+0x138429c)
#22 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:309:3 (libxul.so+0x138429c)
#23 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:447:10 (libxul.so+0xb1fc65)
#24 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x44daf)
Assignee | ||
Comment 11•4 years ago
|
||
This is still a problem according to :decoder. I'll have another go at it.
Comment 12•4 years ago
|
||
This is an automated crash issue comment: Summary: ThreadSanitizer: data race [@ webrtc::WebRtcAec_Create] vs. [@ webrtc::WebRtcAec_Create] Build version: try revision 795a87bdf14e22f9a68ebe5fdcce1042dedb4465 For detailed crash information, see attachment.
Comment 13•4 years ago
|
||
Comment 14•4 years ago
|
||
I'm unable to use my mic without sever artifacts and crackling.
I used an online voice recorder and mozregression to pinpoint the issue to this commit, as it stands the microphone issues mean I cannot use firefox.
2020-09-29T11:03:19.431000: INFO : Narrowed integration regression window from [d1735ab1, f3a3edb8] (3 builds) to [d1735ab1, e8dd0a07] (2 builds) (~1 steps left)
2020-09-29T11:03:19.450000: DEBUG : Starting merge handling...
2020-09-29T11:03:19.451000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1
2020-09-29T11:03:19.451000: DEBUG : redo: attempt 1/3
2020-09-29T11:03:19.452000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1',), kwargs: {}, attempt #1
2020-09-29T11:03:19.457000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2020-09-29T11:03:20.992000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1 HTTP/1.1" 200 None
2020-09-29T11:03:21.051000: DEBUG : Found commit message:
Bug 1656068 - Do the processing for audio input data on the graph runner thread and not the audio callback thread. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D85404
2020-09-29T11:03:21.052000: DEBUG : Did not find a branch, checking all integration branches
2020-09-29T11:03:21.057000: INFO : The bisection is done.
2020-09-29T11:03:21.059000: INFO : Stopped
Assignee | ||
Comment 15•4 years ago
|
||
(In reply to admin from comment #14)
I'm unable to use my mic without sever artifacts and crackling.
I used an online voice recorder and mozregression to pinpoint the issue to this commit, as it stands the microphone issues mean I cannot use firefox.
2020-09-29T11:03:19.431000: INFO : Narrowed integration regression window from [d1735ab1, f3a3edb8] (3 builds) to [d1735ab1, e8dd0a07] (2 builds) (~1 steps left) 2020-09-29T11:03:19.450000: DEBUG : Starting merge handling... 2020-09-29T11:03:19.451000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1 2020-09-29T11:03:19.451000: DEBUG : redo: attempt 1/3 2020-09-29T11:03:19.452000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1',), kwargs: {}, attempt #1 2020-09-29T11:03:19.457000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org 2020-09-29T11:03:20.992000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=e8dd0a07098ba86648f246b41528d5c86a52c676&full=1 HTTP/1.1" 200 None 2020-09-29T11:03:21.051000: DEBUG : Found commit message: Bug 1656068 - Do the processing for audio input data on the graph runner thread and not the audio callback thread. r=pehrsons Differential Revision: https://phabricator.services.mozilla.com/D85404 2020-09-29T11:03:21.052000: DEBUG : Did not find a branch, checking all integration branches 2020-09-29T11:03:21.057000: INFO : The bisection is done. 2020-09-29T11:03:21.059000: INFO : Stopped
Please attach a copy of the raw data from about:support
.
Assignee | ||
Comment 16•4 years ago
|
||
(In reply to Christian Holler (:decoder) from comment #12)
This is an automated crash issue comment:
Summary: ThreadSanitizer: data race [@ webrtc::WebRtcAec_Create] vs. [@
webrtc::WebRtcAec_Create]
Build version: try revision 795a87bdf14e22f9a68ebe5fdcce1042dedb4465For detailed crash information, see attachment.
Indeed, it's possible to have two of those running at once, and this instance_count
is a global flag, it needs to be atomic.
Assignee | ||
Comment 17•4 years ago
|
||
Comment 18•4 years ago
|
||
Pushed by padenot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b2678e1eff71 Make instance_count in echo_cancellation.h atomic, it can be read and written concurrently. r=pehrsons
Comment 19•4 years ago
|
||
bugherder |
Comment 20•4 years ago
|
||
Change the status for beta to have the same as nightly and release.
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 21•4 years ago
|
||
We need to back this first patch out asap, everywhere, and then we can figure out something better.
Assignee | ||
Comment 22•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 23•4 years ago
|
||
The reason for this breakage is that pulse calls the cubeb data_callback
with very small buffers, that are filled entirely from the scratch buffer. The audio input processing doesn't run, then. This happens only when using bluetooth devices because in handsfree, it's running at 16kHz or 8kHz, and so the number of frames is small, for the same duration.
Comment 24•4 years ago
|
||
Pushed by padenot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7b50f2418f3d Backout first patch in 1656068 for breaking bluetooth audio input on Linux/Pulse. r=pehrsons
Comment 25•4 years ago
|
||
Comment 26•4 years ago
|
||
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/7b50f2418f3d
Comment 27•4 years ago
|
||
Depends on D93509
Comment 28•4 years ago
|
||
Pushed by choller@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/00a0f95a6140 Add temporary suppression. r=bwc
Comment 29•4 years ago
|
||
bugherder |
Description
•