webrtc/modules/audio_device
henrika af070d0299 Improves device enumeration in ADM2 for Windows.
Summary of changes/improvements and fixes:

Changes container for list of devices from std::vector to std:deque to
allow fast insertion and deletion at both its beginning and its end. This
approach makes it easier to first build a list of all available devices
and then check the size of the list. If size > 0 => two more devices are
added at the front (Default and Default Communication). The old solution
contained a risk of adding invalid Default and Default Communication
devices in cases where not physical device could be found.

Adds usage of |device_index_| in CoreAudioBase to ensure that the selected
device is unique. The previous version used only an ID but that ID is not
unique when e.g. only one device exists since it can have up to three
different roles.

Improves logging and comments.

No-Try: True
Tbr: thaloun@chromium.org
Bug: webrtc:11107
Change-Id: I9a09f7716ed8d8858dcc6a5354b038fc06496166
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160050
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29874}
2019-11-22 14:27:10 +00:00
..
android Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
dummy Format almost everything. 2019-07-08 13:45:15 +00:00
include Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
linux [tsan] Guard audio_device_pulse_linux members from concurrent access. 2019-08-12 11:55:52 +00:00
mac Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
win Improves device enumeration in ADM2 for Windows. 2019-11-22 14:27:10 +00:00
audio_device_buffer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
audio_device_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
audio_device_config.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
audio_device_data_observer.cc Reporting audio device underrun counter 2019-08-16 11:49:55 +00:00
audio_device_generic.cc Reporting audio device underrun counter 2019-08-16 11:49:55 +00:00
audio_device_generic.h Reporting audio device underrun counter 2019-08-16 11:49:55 +00:00
audio_device_impl.cc Reporting audio device underrun counter 2019-08-16 11:49:55 +00:00
audio_device_impl.h Reporting audio device underrun counter 2019-08-16 11:49:55 +00:00
audio_device_name.cc Clarifies identification of default communication device in ADM2 2019-11-20 15:02:06 +00:00
audio_device_name.h Improves device enumeration in ADM2 for Windows. 2019-11-22 14:27:10 +00:00
audio_device_unittest.cc Tests that all available audio devices can be selected and used by the ADM. 2019-11-18 17:47:31 +00:00
BUILD.gn Move rtc_base/ignore_wundef.h to its own target. 2019-10-19 10:50:36 +00:00
DEPS Reland "Remove old audio device implementation." 2019-04-10 06:44:42 +00:00
fine_audio_buffer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fine_audio_buffer.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
fine_audio_buffer.h Adds stereo support to FineAudioBuffer for mobile platforms. 2018-04-24 11:58:54 +00:00
mock_audio_device_buffer.h Propagate TaskQueueFactory to AudioDeviceBuffer 2019-04-01 08:00:49 +00:00
OWNERS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00