Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Maintenance:12137
chromium.openSUSE_Leap_15.1_Update
webrtc-pulse.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File webrtc-pulse.patch of Package chromium.openSUSE_Leap_15.1_Update
From 704dc99bd05a94eb61202e6127df94ddfd571e85 Mon Sep 17 00:00:00 2001 From: Dale Curtis <dalecurtis@chromium.org> Date: Mon, 02 Mar 2020 22:12:22 +0000 Subject: [PATCH] Hold PulseAudio mainloop lock while querying input device info. a22cc23955cb3d58b7525c5103314226b3ce0137 moved this section out of UpdateNativeAudioHardwareInfo(), but forgot to bring the lock along. R=guidou Bug: 1043040 Change-Id: I5b17a2cf0ad55d61c0811db1dae7045af4a91370 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2083814 Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Guido Urdaneta <guidou@chromium.org> Reviewed-by: Guido Urdaneta <guidou@chromium.org> Auto-Submit: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/heads/master@{#746115} --- diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc index 90e9317..829846f 100644 --- a/media/audio/pulse/audio_manager_pulse.cc +++ b/media/audio/pulse/audio_manager_pulse.cc @@ -104,22 +104,27 @@ AudioParameters AudioManagerPulse::GetInputStreamParameters( const std::string& device_id) { - int user_buffer_size = GetUserBufferSize(); - int buffer_size = - user_buffer_size ? user_buffer_size : kDefaultInputBufferSize; - UpdateNativeAudioHardwareInfo(); - auto* operation = pa_context_get_source_info_by_name( - input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback, - this); - WaitForOperationCompletion(input_mainloop_, operation, input_context_); + + { + AutoPulseLock auto_lock(input_mainloop_); + auto* operation = pa_context_get_source_info_by_name( + input_context_, default_source_name_.c_str(), DefaultSourceInfoCallback, + this); + WaitForOperationCompletion(input_mainloop_, operation, input_context_); + } // We don't want to accidentally open a monitor device, so return invalid - // parameters for those. + // parameters for those. Note: The value of |default_source_is_monitor_| + // depends on the the call to pa_context_get_source_info_by_name() above. if (device_id == AudioDeviceDescription::kDefaultDeviceId && default_source_is_monitor_) { return AudioParameters(); } + + const int user_buffer_size = GetUserBufferSize(); + const int buffer_size = + user_buffer_size ? user_buffer_size : kDefaultInputBufferSize; return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, native_input_sample_rate_ ? native_input_sample_rate_
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor