Implement a process-agnostic service providing mojo interfaces to platform audio. Design doc: https://docs.google.com/document/d/1s_Fd1WRDdpb5n6C2MSJjeC3fis6hULZwfKMeDd4K5tI/edit?usp=sharing
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a334d5f07d2fbf48dbcf6933d00027ce16b128a5 commit a334d5f07d2fbf48dbcf6933d00027ce16b128a5 Author: Olga Sharonova <olka@chromium.org> Date: Thu Jan 11 19:50:12 2018 Basic Audio Service hosting mojom::SystemInfo In this CL: * //services/audio infrastructure * AudioDeviceDescription type mapping - may need to be moved to //media? (Someday we want it all to be in //audio though.) * Build files/dependencies - please review vigorously, I'm not sure everything is fine there. * mojom::SystemInfo interface and implementation on top of AudioManager, * Service implementation. * AudioSystemToMojoAdapter: client-side media::AudioSystem implementation on top of mojom::SystemInfo * Unit tests. * A fix for Connector::BindInterface() when there are binder overrides available (see discussion in PS17) Upcoming CLs for AudioService infrastructure: - Run in-process Audio service and instantiate BrowserMainLoop::audio_system_ with AudioSystemToMojoAdapter, so that audio system information is served through the service. - UMA stats for service usage. - Tear down the service when not in use (service side, client side) - Out-of-process AudioService implementation + unit tests Design doc (being updated now): https://docs.google.com/document/d/1s_Fd1WRDdpb5n6C2MSJjeC3fis6hULZwfKMeDd4K5tI/edit?usp=sharing Bug: 740943 ,792441 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: Iae7f69386a6d2138c69d9566cf41655b57158b7c Reviewed-on: https://chromium-review.googlesource.com/799791 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#528714} [modify] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/media/audio/audio_device_description.h [modify] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/media/audio/mock_audio_manager.cc [modify] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/BUILD.gn [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/BUILD.gn [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/DEPS [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/OWNERS [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/README.md [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/in_process_audio_manager_accessor.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/in_process_audio_manager_accessor.h [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/manifest.json [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/BUILD.gn [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/OWNERS [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/audio_device_description.typemap [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/audio_device_description_struct_traits.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/audio_device_description_struct_traits.h [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/audio_system_to_service_adapter.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/audio_system_to_service_adapter.h [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/cpp/typemaps.gni [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/interfaces/BUILD.gn [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/interfaces/OWNERS [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/interfaces/audio_device_description.mojom [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/interfaces/constants.mojom [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/public/interfaces/system_info.mojom [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/service.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/service.h [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/system_info.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/system_info.h [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/test/OWNERS [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/test/audio_system_to_service_adapter_test.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/test/in_process_service_test.cc [add] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/audio/test/service_unittest_manifest.json [modify] https://crrev.com/a334d5f07d2fbf48dbcf6933d00027ce16b128a5/services/service_manager/public/cpp/connector.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf commit 8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf Author: Daniel Cheng <dcheng@chromium.org> Date: Thu Jan 11 20:03:35 2018 Revert "Basic Audio Service hosting mojom::SystemInfo" This reverts commit a334d5f07d2fbf48dbcf6933d00027ce16b128a5. Reason for revert: accidentally passed CQ without security review Original change's description: > Basic Audio Service hosting mojom::SystemInfo > > In this CL: > * //services/audio infrastructure > * AudioDeviceDescription type mapping - may need to be moved to //media? (Someday we want it all > to be in //audio though.) > * Build files/dependencies - please review vigorously, I'm not sure everything is fine there. > * mojom::SystemInfo interface and implementation on top of AudioManager, > * Service implementation. > * AudioSystemToMojoAdapter: client-side media::AudioSystem implementation on top of > mojom::SystemInfo > * Unit tests. > * A fix for Connector::BindInterface() when there are binder overrides available (see discussion > in PS17) > > Upcoming CLs for AudioService infrastructure: > - Run in-process Audio service and > instantiate BrowserMainLoop::audio_system_ with AudioSystemToMojoAdapter, so > that audio system information is served through the service. > - UMA stats for service usage. > - Tear down the service when not in use (service side, client side) > - Out-of-process AudioService implementation + unit tests > > Design doc (being updated now): > https://docs.google.com/document/d/1s_Fd1WRDdpb5n6C2MSJjeC3fis6hULZwfKMeDd4K5tI/edit?usp=sharing > > Bug: 740943 ,792441 > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: Iae7f69386a6d2138c69d9566cf41655b57158b7c > Reviewed-on: https://chromium-review.googlesource.com/799791 > Commit-Queue: Olga Sharonova <olka@chromium.org> > Reviewed-by: Ken Rockot <rockot@chromium.org> > Reviewed-by: Dale Curtis <dalecurtis@chromium.org> > Reviewed-by: Max Morin <maxmorin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#528714} TBR=dalecurtis@chromium.org,rockot@chromium.org,olka@chromium.org,maxmorin@chromium.org Change-Id: Ib5c26464a3dacf0d2a5b3255295ebb268bd6fe20 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 740943 , 792441 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/862107 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Commit-Queue: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#528721} [modify] https://crrev.com/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf/media/audio/audio_device_description.h [modify] https://crrev.com/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf/media/audio/mock_audio_manager.cc [modify] https://crrev.com/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf/services/BUILD.gn [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/BUILD.gn [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/DEPS [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/OWNERS [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/README.md [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/in_process_audio_manager_accessor.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/in_process_audio_manager_accessor.h [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/manifest.json [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/BUILD.gn [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/OWNERS [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/audio_device_description.typemap [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/audio_device_description_struct_traits.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/audio_device_description_struct_traits.h [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/audio_system_to_service_adapter.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/audio_system_to_service_adapter.h [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/cpp/typemaps.gni [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/interfaces/BUILD.gn [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/interfaces/OWNERS [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/interfaces/audio_device_description.mojom [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/interfaces/constants.mojom [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/public/interfaces/system_info.mojom [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/service.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/service.h [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/system_info.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/system_info.h [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/test/OWNERS [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/test/audio_system_to_service_adapter_test.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/test/in_process_service_test.cc [delete] https://crrev.com/e0cf8e1b851449b628d17431943b7a6c6286b5c2/services/audio/test/service_unittest_manifest.json [modify] https://crrev.com/8cd4afa14015d6d8cf2cd90e649f36c1458a4fbf/services/service_manager/public/cpp/connector.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3caa45ea110f61dc795782963b829946714ecb38 commit 3caa45ea110f61dc795782963b829946714ecb38 Author: Olga Sharonova <olka@chromium.org> Date: Tue Jan 16 15:37:59 2018 Reland "Basic Audio Service hosting mojom::SystemInfo": Now with security review. Comparing to the original CL (PS1 vs PS5), the changes are cosmetic. The most noticeable one is that for consistency SystemInfo::GetDeviceDescriptions(bool for_input) is replaced with SystemInfo::GetInputDeviceDescriptions() and SystemInfo::GetOutputDeviceDescriptions(). TBR=dalecurtis@chromium.org,rockot@chromium.org This is a reland of a334d5f07d2fbf48dbcf6933d00027ce16b128a5 Original change's description: > Basic Audio Service hosting mojom::SystemInfo > > In this CL: > * //services/audio infrastructure > * AudioDeviceDescription type mapping - may need to be moved to //media? (Someday we want it all > to be in //audio though.) > * Build files/dependencies - please review vigorously, I'm not sure everything is fine there. > * mojom::SystemInfo interface and implementation on top of AudioManager, > * Service implementation. > * AudioSystemToMojoAdapter: client-side media::AudioSystem implementation on top of > mojom::SystemInfo > * Unit tests. > * A fix for Connector::BindInterface() when there are binder overrides available (see discussion > in PS17) > > Upcoming CLs for AudioService infrastructure: > - Run in-process Audio service and > instantiate BrowserMainLoop::audio_system_ with AudioSystemToMojoAdapter, so > that audio system information is served through the service. > - UMA stats for service usage. > - Tear down the service when not in use (service side, client side) > - Out-of-process AudioService implementation + unit tests > > Design doc (being updated now): > https://docs.google.com/document/d/1s_Fd1WRDdpb5n6C2MSJjeC3fis6hULZwfKMeDd4K5tI/edit?usp=sharing > > Bug: 740943 ,792441 > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: Iae7f69386a6d2138c69d9566cf41655b57158b7c > Reviewed-on: https://chromium-review.googlesource.com/799791 > Commit-Queue: Olga Sharonova <olka@chromium.org> > Reviewed-by: Ken Rockot <rockot@chromium.org> > Reviewed-by: Dale Curtis <dalecurtis@chromium.org> > Reviewed-by: Max Morin <maxmorin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#528714} Bug: 740943 , 792441 Change-Id: I2316aad895c35636a43ff990d378b6b5d97093a4 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/861790 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Cr-Commit-Position: refs/heads/master@{#529427} [modify] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/media/audio/audio_device_description.h [modify] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/media/audio/mock_audio_manager.cc [modify] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/mojo/public/tools/bindings/chromium_bindings_configuration.gni [modify] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/BUILD.gn [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/BUILD.gn [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/DEPS [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/OWNERS [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/README.md [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/in_process_audio_manager_accessor.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/in_process_audio_manager_accessor.h [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/manifest.json [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/BUILD.gn [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/OWNERS [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/audio_device_description.typemap [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/audio_device_description_struct_traits.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/audio_device_description_struct_traits.h [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/audio_system_to_service_adapter.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/audio_system_to_service_adapter.h [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/cpp/typemaps.gni [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/interfaces/BUILD.gn [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/interfaces/OWNERS [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/interfaces/audio_device_description.mojom [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/interfaces/constants.mojom [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/public/interfaces/system_info.mojom [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/service.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/service.h [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/system_info.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/system_info.h [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/test/OWNERS [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/test/audio_system_to_service_adapter_test.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/test/in_process_service_test.cc [add] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/audio/test/service_unittest_manifest.json [modify] https://crrev.com/3caa45ea110f61dc795782963b829946714ecb38/services/service_manager/public/cpp/connector.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d925bde7853d41a1a3cd914f2f94232d483a0ef0 commit d925bde7853d41a1a3cd914f2f94232d483a0ef0 Author: Olga Sharonova <olka@chromium.org> Date: Thu Jan 25 06:58:24 2018 Audio service cleanup and in-process factory. This is a spin-off from a WIP https://chromium-review.googlesource.com/c/chromium/src/+/875927 Bug: 792441 Change-Id: I1d6e256653fa7fa81dd6c6b23edd9be9446b0640 Reviewed-on: https://chromium-review.googlesource.com/883203 Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Commit-Queue: Olga Sharonova <olka@chromium.org> Cr-Commit-Position: refs/heads/master@{#531833} [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/BUILD.gn [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/manifest.json [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/public/cpp/audio_system_to_service_adapter.cc [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/service.cc [add] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/service_factory.cc [add] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/service_factory.h [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/test/in_process_service_test.cc [modify] https://crrev.com/d925bde7853d41a1a3cd914f2f94232d483a0ef0/services/audio/test/service_unittest_manifest.json
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d34513045dfd16ba3bafd6d59d65f1fec38fde39 commit d34513045dfd16ba3bafd6d59d65f1fec38fde39 Author: Olga Sharonova <olka@chromium.org> Date: Thu Feb 01 10:15:26 2018 Test support for mocking audio::SystemInfo This is another spin-off from WIP https://chromium-review.googlesource.com/c/chromium/src/+/875927 See chrome/browser/chromeos/login/kiosk_browsertest.cc there for a use case. Another (potential) use case is Speech Recognition browser tests here https://cs.chromium.org/chromium/src/content/browser/speech/speech_recognition_browsertest.cc?type=cs&sq=package:chromium&l=132 Bug: 792441 Change-Id: I7c8b89bb1fc920ccade625dfc259e8c91edc8e94 Reviewed-on: https://chromium-review.googlesource.com/891184 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#533621} [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/BUILD.gn [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/DEPS [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/public/cpp/BUILD.gn [add] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/public/cpp/fake_system_info.cc [add] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/public/cpp/fake_system_info.h [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/service_factory.cc [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/service_factory.h [modify] https://crrev.com/d34513045dfd16ba3bafd6d59d65f1fec38fde39/services/audio/test/in_process_service_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6 commit 16d89d9eafaee3e34d2d32048ca69c4cf51c10e6 Author: Olga Sharonova <olka@chromium.org> Date: Thu Feb 01 15:51:28 2018 Rename traits and interface directories in /services/audio This change renames public/interfaces to public/mojom and *_struct_traits_* to *_mojom_traits_* in /services/audio. Bug: 806965, 792441 Change-Id: I64ae6176bc9a8b88b0dc5fd1cc2c0746e13c3d23 Reviewed-on: https://chromium-review.googlesource.com/897665 Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Commit-Queue: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#533680} [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/BUILD.gn [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/BUILD.gn [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/OWNERS [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/audio_device_description.typemap [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/audio_device_description_mojom_traits.cc [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/audio_device_description_mojom_traits.h [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/audio_system_to_service_adapter.cc [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/audio_system_to_service_adapter.h [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/fake_system_info.cc [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/cpp/fake_system_info.h [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/mojom/BUILD.gn [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/mojom/OWNERS [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/mojom/audio_device_description.mojom [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/mojom/constants.mojom [rename] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/public/mojom/system_info.mojom [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/service.h [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/system_info.h [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/test/audio_system_to_service_adapter_test.cc [modify] https://crrev.com/16d89d9eafaee3e34d2d32048ca69c4cf51c10e6/services/audio/test/in_process_service_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a234a0a1f0f351504d2e5060f047dfb46ef47799 commit a234a0a1f0f351504d2e5060f047dfb46ef47799 Author: Olga Sharonova <olka@chromium.org> Date: Fri Feb 16 11:12:23 2018 Audio service embedded in content and AudioSystem on top of it 1) Audio service is embedded into /content. For that DeferredSequencedTaskRunner for Audio service is introduced in BrowserMainLoop. This task runner is passed into AudioServiceContext and queues all the requests to the Audio service and its factory until it is started. And it is started after AudioManager is created in BrowserMainLoop::BrowserThreadsStarted(). 2) audio::CreateAudioSystem() is introduced as a replacement to media::AudioSystem::CreateInstance(). At this point it still creates media::AudioSystemImpl instance. This CL does not change execution path, and (hopefully) should not be a source of regressions. The actual switch to using Audio service and audio::AudioSystemToServiceAdapter happens in the follow-up https://chromium-review.googlesource.com/c/chromium/src/+/918901. So if something breaks https://chromium-review.googlesource.com/c/chromium/src/+/918901 should be reverted first (and most likely that should be enough). Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: Ie69df7bf9f593fda6a2e85f5f57a49a90aeccdb9 Bug: 792441 Reviewed-on: https://chromium-review.googlesource.com/875927 Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Olga Sharonova <olka@chromium.org> Cr-Commit-Position: refs/heads/master@{#537283} [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/DEPS [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/chromeos/login/DEPS [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/chromeos/login/kiosk_browsertest.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/BUILD.gn [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/api/virtual_keyboard_private/DEPS [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/api/webrtc_audio_private/DEPS [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/chrome/test/BUILD.gn [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/browser/BUILD.gn [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/browser/browser_main_loop.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/browser/browser_main_loop.h [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/browser/service_manager/service_manager_context.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/browser/webrtc/webrtc_content_browsertest_base.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/public/app/BUILD.gn [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/content/test/BUILD.gn [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/media/audio/BUILD.gn [delete] https://crrev.com/111190cb1851bfbe50816b0a62f38ee9a08fe55d/media/audio/audio_system.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/media/audio/audio_system.h [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/media/audio/audio_system_impl.cc [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/media/audio/audio_system_impl.h [modify] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/services/audio/public/cpp/BUILD.gn [add] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/services/audio/public/cpp/audio_system_factory.cc [add] https://crrev.com/a234a0a1f0f351504d2e5060f047dfb46ef47799/services/audio/public/cpp/audio_system_factory.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec6df0c6abb38504a555b03e37fabea0bffd55da commit ec6df0c6abb38504a555b03e37fabea0bffd55da Author: Olga Sharonova <olka@chromium.org> Date: Fri Feb 16 16:56:03 2018 Switch AudioSystem to service-base implementation. This is a follow-up CL which makes the code to use AudioService for access to audio systeminformation. Follow-up of https://chromium-review.googlesource.com/c/chromium/src/+/875927 Done separatly to simplify a revert if one is required. Bug: 792441 Change-Id: I9664b5f8b4364bb019232b10d7aa2dd93ddaf957 Reviewed-on: https://chromium-review.googlesource.com/918901 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Cr-Commit-Position: refs/heads/master@{#537323} [modify] https://crrev.com/ec6df0c6abb38504a555b03e37fabea0bffd55da/services/audio/public/cpp/audio_system_factory.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/09f89fea352b87fd0904c8a92bddf8f4f92e9e89 commit 09f89fea352b87fd0904c8a92bddf8f4f92e9e89 Author: Olga Sharonova <olka@chromium.org> Date: Mon Mar 26 16:15:19 2018 Audio service: quit with timeout if there are no incoming connections. Bug: 792441 Change-Id: I0d715e485ce1d7f414d65e4c08291537d3d48614 Reviewed-on: https://chromium-review.googlesource.com/873351 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#545808} [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/BUILD.gn [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/debug_recording.cc [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/debug_recording.h [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/debug_recording_unittest.cc [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/service.cc [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/service.h [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/service_factory.cc [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/system_info.cc [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/system_info.h [modify] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/test/in_process_service_test.cc [add] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/test/service_lifetime_connector_test.cc [add] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/test/service_lifetime_test_template.h [add] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/test/service_observer_mock.cc [add] https://crrev.com/09f89fea352b87fd0904c8a92bddf8f4f92e9e89/services/audio/test/service_observer_mock.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/acef01cbb35d643fdcdb1a22b261349dfb49fcb3 commit acef01cbb35d643fdcdb1a22b261349dfb49fcb3 Author: Olga Sharonova <olka@chromium.org> Date: Mon Apr 09 20:10:10 2018 media::AudioSystem: disconnect from Audio service when not in use. Also added mojo::InterfacePtr<>::IsExpectingResponse(). Bug: 672469, 792441 Change-Id: I9c508cafae84b393e226834c4236724d59641829 Reviewed-on: https://chromium-review.googlesource.com/998166 Commit-Queue: Olga Sharonova <olka@chromium.org> Reviewed-by: Max Morin <maxmorin@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Cr-Commit-Position: refs/heads/master@{#549254} [modify] https://crrev.com/acef01cbb35d643fdcdb1a22b261349dfb49fcb3/mojo/public/cpp/bindings/interface_ptr.h [modify] https://crrev.com/acef01cbb35d643fdcdb1a22b261349dfb49fcb3/services/audio/public/cpp/audio_system_to_service_adapter.cc [modify] https://crrev.com/acef01cbb35d643fdcdb1a22b261349dfb49fcb3/services/audio/public/cpp/audio_system_to_service_adapter.h [modify] https://crrev.com/acef01cbb35d643fdcdb1a22b261349dfb49fcb3/services/audio/test/audio_system_to_service_adapter_test.cc
Issue 425368 has been merged into this issue.
The implementation is in services/audio, the switch to the service is rolling out under finch (now in M68-M69 Beta).
I'll keep it open until we fully switch to the service.
Comment 1 by olka@chromium.org
, Dec 6 2017