From e87ac2e6489fe63304ead9a984f331d4f648f1d7 Mon Sep 17 00:00:00 2001 From: Katie Dektar Date: Wed, 3 Mar 2021 01:05:58 +0000 Subject: [PATCH] Reland "Move stream_factory.mojom to media/mojo/mojom/." This reverts commit 800025eca8447115dbf827cd38f549f45badc798. Comma is added. Original change's description: > Move stream_factory.mojom to media/mojo/mojom/. > > In order to support offline speech recognition of microphone input, > we plan to add a method to SpeechRecognitionContext that takes a > StreamFactory. However, StreamFactory depends on media::mojom, so > adding StreamFactory to speech_recognition_service.mojom in media/ > will create a circular dependency. > > This change moves services/audio/public/mojom/stream_factory.mojom > to media/mojo/mojom/stream_factory.mojom to avoid that circular > dependency, and renames StreamFactory to AudioStreamFactory. > > This change makes no functional changes. > > Proposed addition to speech_recognition_service.mojom (follow-up): > ``` > // Allows audio to be captured from within the SpeechRecognitionService > // process, with results passed back to the > // SpeechRecognitionRecognizerClient. > BindAudioSourceRecognizer( > pending_receiver fetcher_receiver, > pending_remote client, > pending_remote factory) > => (bool success); > ``` > > See design at go/cros-dictation-with-soda (audio input header). > > Bug: 1173135 > Change-Id: Ifa286d628b8d4398b41f0b2daed704989ef5fe84 > AX-Relnotes: N/A Change-Id: I51cbd2d5db6072626c8dd642defb64550df7f234 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2729766 Reviewed-by: Avi Drissman Reviewed-by: Xiyuan Xia Reviewed-by: Alex Gough Reviewed-by: Dale Curtis Commit-Queue: Katie Dektar Cr-Commit-Position: refs/heads/master@{#859203} --- ash/capture_mode/capture_mode_controller.cc | 2 +- .../test_capture_mode_delegate.cc | 11 ++++++---- ash/capture_mode/test_capture_mode_delegate.h | 3 ++- ash/public/cpp/capture_mode_delegate.h | 16 +++++++------- ash/services/recording/public/mojom/BUILD.gn | 1 - .../public/mojom/recording_service.mojom | 8 +++---- ash/services/recording/recording_service.cc | 8 +++---- ash/services/recording/recording_service.h | 12 +++++++---- .../media/cast_mirroring_service_host.h | 6 +++--- .../tts_engine_extension_observer_chromeos.cc | 2 +- .../ui/ash/assistant/assistant_client_impl.cc | 2 +- .../ui/ash/assistant/assistant_client_impl.h | 3 ++- .../ui/ash/chrome_capture_mode_delegate.cc | 2 +- .../ui/ash/chrome_capture_mode_delegate.h | 3 ++- chromeos/services/assistant/BUILD.gn | 1 + chromeos/services/assistant/DEPS | 1 + .../platform/platform_delegate_impl.cc | 2 +- .../platform/platform_delegate_impl.h | 3 ++- .../assistant/public/cpp/assistant_client.h | 6 +++--- .../cpp/migration/fake_platform_delegate.cc | 2 +- .../cpp/migration/fake_platform_delegate.h | 8 ++++--- .../test_support/scoped_assistant_client.h | 3 ++- chromeos/services/libassistant/BUILD.gn | 2 +- chromeos/services/libassistant/DEPS | 1 + .../libassistant/audio/audio_device_owner.cc | 4 ++-- .../libassistant/audio/audio_device_owner.h | 6 +++--- .../libassistant/audio/audio_input_impl.cc | 2 +- .../libassistant/audio/audio_input_stream.cc | 2 +- .../libassistant/audio/audio_input_stream.h | 2 +- .../audio/audio_output_provider_impl.cc | 8 +++---- .../audio/audio_output_provider_impl.h | 4 ++-- .../libassistant/public/mojom/BUILD.gn | 2 +- .../public/mojom/platform_delegate.mojom | 7 ++++--- chromeos/services/tts/public/mojom/BUILD.gn | 2 +- .../tts/public/mojom/tts_service.mojom | 4 ++-- chromeos/services/tts/tts_service.cc | 2 +- chromeos/services/tts/tts_service.h | 2 +- chromeos/services/tts/tts_service_unittest.cc | 6 +++--- content/browser/audio/audio_service.cc | 2 +- .../media/audio_input_stream_broker.cc | 2 +- .../browser/media/audio_input_stream_broker.h | 4 ++-- .../audio_input_stream_broker_unittest.cc | 2 +- .../media/audio_loopback_stream_broker.cc | 4 ++-- .../media/audio_loopback_stream_broker.h | 4 ++-- .../audio_loopback_stream_broker_unittest.cc | 6 +++--- content/browser/media/audio_muting_session.cc | 2 +- content/browser/media/audio_muting_session.h | 6 +++--- .../media/audio_output_stream_broker.cc | 2 +- .../media/audio_output_stream_broker.h | 4 ++-- .../audio_output_stream_broker_unittest.cc | 2 +- content/browser/media/audio_stream_broker.h | 11 ++++------ .../media/forwarding_audio_stream_factory.cc | 20 ++++++++++-------- .../media/forwarding_audio_stream_factory.h | 17 ++++++++------- ...orwarding_audio_stream_factory_unittest.cc | 16 +++++++------- ...ame_audio_input_stream_factory_unittest.cc | 10 ++++----- ...me_audio_output_stream_factory_unittest.cc | 13 ++++++------ .../browser/speech/speech_recognizer_impl.cc | 2 +- content/public/browser/audio_service.h | 6 +++--- media/mojo/mojom/BUILD.gn | 1 + .../mojo/mojom/audio_stream_factory.mojom | 4 ++-- services/audio/BUILD.gn | 1 + services/audio/input_stream_unittest.cc | 4 ++-- services/audio/local_muter.cc | 2 +- services/audio/local_muter.h | 11 +++++----- services/audio/local_muter_unittest.cc | 4 ++-- services/audio/output_stream_unittest.cc | 4 ++-- services/audio/public/cpp/device_factory.cc | 4 ++-- services/audio/public/cpp/device_factory.h | 6 +++--- .../audio/public/cpp/fake_stream_factory.h | 13 ++++++------ services/audio/public/cpp/input_ipc.cc | 2 +- services/audio/public/cpp/input_ipc.h | 8 +++---- .../audio/public/cpp/input_ipc_unittest.cc | 2 +- services/audio/public/cpp/output_device.cc | 2 +- services/audio/public/cpp/output_device.h | 13 ++++++------ .../public/cpp/output_device_unittest.cc | 6 +++--- .../public/cpp/sounds/audio_stream_handler.cc | 4 ++-- .../audio/public/cpp/sounds/sounds_manager.h | 4 ++-- services/audio/public/mojom/BUILD.gn | 1 - .../audio/public/mojom/audio_service.mojom | 4 ++-- services/audio/service.cc | 2 +- services/audio/service.h | 6 +++--- services/audio/stream_factory.cc | 5 +++-- services/audio/stream_factory.h | 21 ++++++++++--------- 83 files changed, 227 insertions(+), 203 deletions(-) rename services/audio/public/mojom/stream_factory.mojom => media/mojo/mojom/audio_stream_factory.mojom (99%) diff --git a/ash/capture_mode/capture_mode_controller.cc b/ash/capture_mode/capture_mode_controller.cc index cee666e69577c6..106f4e79a6d572 100644 --- a/ash/capture_mode/capture_mode_controller.cc +++ b/ash/capture_mode/capture_mode_controller.cc @@ -726,7 +726,7 @@ void CaptureModeController::LaunchRecordingServiceAndStartRecording( // We bind the audio stream factory only if audio recording is enabled. This // is ok since the |audio_stream_factory| parameter in the recording service // APIs is optional, and can be not bound. - mojo::PendingRemote audio_stream_factory; + mojo::PendingRemote audio_stream_factory; if (enable_audio_recording_) { delegate_->BindAudioStreamFactory( audio_stream_factory.InitWithNewPipeAndPassReceiver()); diff --git a/ash/capture_mode/test_capture_mode_delegate.cc b/ash/capture_mode/test_capture_mode_delegate.cc index 668a967221aa75..bdaa69be3ea5b4 100644 --- a/ash/capture_mode/test_capture_mode_delegate.cc +++ b/ash/capture_mode/test_capture_mode_delegate.cc @@ -36,7 +36,8 @@ class FakeRecordingService : public recording::mojom::RecordingService { void RecordFullscreen( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size) override { remote_client_.Bind(std::move(client)); @@ -48,7 +49,8 @@ class FakeRecordingService : public recording::mojom::RecordingService { void RecordWindow( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const viz::SubtreeCaptureId& subtree_capture_id, @@ -62,7 +64,8 @@ class FakeRecordingService : public recording::mojom::RecordingService { void RecordRegion( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const gfx::Rect& crop_region) override { @@ -170,7 +173,7 @@ TestCaptureModeDelegate::LaunchRecordingService() { } void TestCaptureModeDelegate::BindAudioStreamFactory( - mojo::PendingReceiver receiver) {} + mojo::PendingReceiver receiver) {} void TestCaptureModeDelegate::OnSessionStateChanged(bool started) {} diff --git a/ash/capture_mode/test_capture_mode_delegate.h b/ash/capture_mode/test_capture_mode_delegate.h index 23d0875397db95..d27a28b4f121ad 100644 --- a/ash/capture_mode/test_capture_mode_delegate.h +++ b/ash/capture_mode/test_capture_mode_delegate.h @@ -51,7 +51,8 @@ class TestCaptureModeDelegate : public CaptureModeDelegate { mojo::Remote LaunchRecordingService() override; void BindAudioStreamFactory( - mojo::PendingReceiver receiver) override; + mojo::PendingReceiver receiver) + override; void OnSessionStateChanged(bool started) override; private: diff --git a/ash/public/cpp/capture_mode_delegate.h b/ash/public/cpp/capture_mode_delegate.h index 4e40d815184ac1..6c1a53f81a4449 100644 --- a/ash/public/cpp/capture_mode_delegate.h +++ b/ash/public/cpp/capture_mode_delegate.h @@ -10,12 +10,6 @@ #include "base/callback.h" #include "mojo/public/cpp/bindings/remote.h" -namespace audio { -namespace mojom { -class StreamFactory; -} // namespace mojom -} // namespace audio - namespace aura { class Window; } // namespace aura @@ -28,6 +22,12 @@ namespace gfx { class Rect; } // namespace gfx +namespace media { +namespace mojom { +class AudioStreamFactory; +} // namespace mojom +} // namespace media + namespace ash { // Defines the interface for the delegate of CaptureModeController, that can be @@ -82,9 +82,9 @@ class ASH_PUBLIC_EXPORT CaptureModeDelegate { virtual mojo::Remote LaunchRecordingService() = 0; - // Binds the given audio StreamFactory |receiver| to the audio service. + // Binds the given AudioStreamFactory |receiver| to the audio service. virtual void BindAudioStreamFactory( - mojo::PendingReceiver receiver) = 0; + mojo::PendingReceiver receiver) = 0; // Called when a capture mode session starts or stops. virtual void OnSessionStateChanged(bool started) = 0; diff --git a/ash/services/recording/public/mojom/BUILD.gn b/ash/services/recording/public/mojom/BUILD.gn index a9eadd3673d7a6..f1c259dd6c8893 100644 --- a/ash/services/recording/public/mojom/BUILD.gn +++ b/ash/services/recording/public/mojom/BUILD.gn @@ -9,7 +9,6 @@ mojom("mojom") { deps = [ "//media/mojo/mojom", - "//services/audio/public/mojom", "//services/viz/privileged/mojom/compositing", ] } diff --git a/ash/services/recording/public/mojom/recording_service.mojom b/ash/services/recording/public/mojom/recording_service.mojom index 0c0b4543dbd132..e4f33d192adff2 100644 --- a/ash/services/recording/public/mojom/recording_service.mojom +++ b/ash/services/recording/public/mojom/recording_service.mojom @@ -4,8 +4,8 @@ module recording.mojom; +import "media/mojo/mojom/audio_stream_factory.mojom"; import "mojo/public/mojom/base/big_string.mojom"; -import "services/audio/public/mojom/stream_factory.mojom"; import "services/viz/privileged/mojom/compositing/frame_sink_video_capture.mojom"; import "services/viz/public/mojom/compositing/frame_sink_id.mojom"; import "services/viz/public/mojom/compositing/subtree_capture_id.mojom"; @@ -55,7 +55,7 @@ interface RecordingService { RecordFullscreen( pending_remote client, pending_remote video_capturer, - pending_remote? audio_stream_factory, + pending_remote? audio_stream_factory, viz.mojom.FrameSinkId frame_sink_id, gfx.mojom.Size frame_sink_size); @@ -81,7 +81,7 @@ interface RecordingService { RecordWindow( pending_remote client, pending_remote video_capturer, - pending_remote? audio_stream_factory, + pending_remote? audio_stream_factory, viz.mojom.FrameSinkId frame_sink_id, gfx.mojom.Size frame_sink_size, viz.mojom.SubtreeCaptureId subtree_capture_id, @@ -100,7 +100,7 @@ interface RecordingService { RecordRegion( pending_remote client, pending_remote video_capturer, - pending_remote? audio_stream_factory, + pending_remote? audio_stream_factory, viz.mojom.FrameSinkId frame_sink_id, gfx.mojom.Size frame_sink_size, gfx.mojom.Rect crop_region); diff --git a/ash/services/recording/recording_service.cc b/ash/services/recording/recording_service.cc index 849580b8a255d6..f91b55345df457 100644 --- a/ash/services/recording/recording_service.cc +++ b/ash/services/recording/recording_service.cc @@ -94,7 +94,7 @@ RecordingService::~RecordingService() = default; void RecordingService::RecordFullscreen( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size) { DCHECK_CALLED_ON_VALID_THREAD(main_thread_checker_); @@ -108,7 +108,7 @@ void RecordingService::RecordFullscreen( void RecordingService::RecordWindow( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const viz::SubtreeCaptureId& subtree_capture_id, @@ -125,7 +125,7 @@ void RecordingService::RecordWindow( void RecordingService::RecordRegion( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const gfx::Rect& crop_region) { @@ -305,7 +305,7 @@ void RecordingService::OnCaptureMuted(bool is_muted) {} void RecordingService::StartNewRecording( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote audio_stream_factory, std::unique_ptr capture_params) { DCHECK_CALLED_ON_VALID_THREAD(main_thread_checker_); diff --git a/ash/services/recording/recording_service.h b/ash/services/recording/recording_service.h index 3b9783513d2bf6..b47c8b315ef62f 100644 --- a/ash/services/recording/recording_service.h +++ b/ash/services/recording/recording_service.h @@ -45,13 +45,15 @@ class RecordingService : public mojom::RecordingService, void RecordFullscreen( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size) override; void RecordWindow( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const viz::SubtreeCaptureId& subtree_capture_id, @@ -59,7 +61,8 @@ class RecordingService : public mojom::RecordingService, void RecordRegion( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, const viz::FrameSinkId& frame_sink_id, const gfx::Size& frame_sink_size, const gfx::Rect& crop_region) override; @@ -93,7 +96,8 @@ class RecordingService : public mojom::RecordingService, void StartNewRecording( mojo::PendingRemote client, mojo::PendingRemote video_capturer, - mojo::PendingRemote audio_stream_factory, + mojo::PendingRemote + audio_stream_factory, std::unique_ptr capture_params); // Called on the main thread during an on-going recording to reconfigure an diff --git a/chrome/browser/media/cast_mirroring_service_host.h b/chrome/browser/media/cast_mirroring_service_host.h index 098705edccc09f..3748568032d490 100644 --- a/chrome/browser/media/cast_mirroring_service_host.h +++ b/chrome/browser/media/cast_mirroring_service_host.h @@ -19,12 +19,12 @@ #include "content/public/browser/media_stream_request.h" #include "content/public/browser/web_contents_observer.h" #include "extensions/buildflags/buildflags.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/associated_remote.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "ui/gfx/geometry/size.h" namespace base { @@ -153,12 +153,12 @@ class CastMirroringServiceHost final : public mojom::MirroringServiceHost, // Used to create WebContents loopback capture streams, or system-wide desktop // capture streams, from the Audio Service. - mojo::Remote audio_stream_factory_; + mojo::Remote audio_stream_factory_; // Used to mute local audio from the WebContents being mirrored (in the tab // mirrorng case). See the comments in the implementation of // CreateAudioStream() for further explanation. - mojo::AssociatedRemote web_contents_audio_muter_; + mojo::AssociatedRemote web_contents_audio_muter_; // The lifetime of the capture indicator icon on the tabstrip is tied to that // of |media_stream_ui_|. diff --git a/chrome/browser/speech/extension_api/tts_engine_extension_observer_chromeos.cc b/chrome/browser/speech/extension_api/tts_engine_extension_observer_chromeos.cc index 19a090790486c1..282afb72431b80 100644 --- a/chrome/browser/speech/extension_api/tts_engine_extension_observer_chromeos.cc +++ b/chrome/browser/speech/extension_api/tts_engine_extension_observer_chromeos.cc @@ -168,7 +168,7 @@ void TtsEngineExtensionObserverChromeOS::BindTtsStreamFactory( // Always create a new audio stream for the tts stream. It is assumed once the // tts stream is reset by the service, the audio stream is appropriately // cleaned up by the audio service. - mojo::PendingRemote factory_remote; + mojo::PendingRemote factory_remote; auto factory_receiver = factory_remote.InitWithNewPipeAndPassReceiver(); content::GetAudioService().BindStreamFactory(std::move(factory_receiver)); tts_service_->BindTtsStreamFactory(std::move(receiver), diff --git a/chrome/browser/ui/ash/assistant/assistant_client_impl.cc b/chrome/browser/ui/ash/assistant/assistant_client_impl.cc index 32d4527e4577f1..12ae3be125440c 100644 --- a/chrome/browser/ui/ash/assistant/assistant_client_impl.cc +++ b/chrome/browser/ui/ash/assistant/assistant_client_impl.cc @@ -130,7 +130,7 @@ void AssistantClientImpl::RequestWakeLockProvider( } void AssistantClientImpl::RequestAudioStreamFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { content::GetAudioService().BindStreamFactory(std::move(receiver)); } diff --git a/chrome/browser/ui/ash/assistant/assistant_client_impl.h b/chrome/browser/ui/ash/assistant/assistant_client_impl.h index de0fe361264e49..c511bf9227502e 100644 --- a/chrome/browser/ui/ash/assistant/assistant_client_impl.h +++ b/chrome/browser/ui/ash/assistant/assistant_client_impl.h @@ -63,7 +63,8 @@ class AssistantClientImpl : public ash::AssistantClient, void RequestWakeLockProvider( mojo::PendingReceiver receiver) override; void RequestAudioStreamFactory( - mojo::PendingReceiver receiver) override; + mojo::PendingReceiver receiver) + override; void RequestAudioDecoderFactory( mojo::PendingReceiver< chromeos::assistant::mojom::AssistantAudioDecoderFactory> receiver) diff --git a/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc b/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc index d7b7d6f9ce1085..9247d9f8d4283e 100644 --- a/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc +++ b/chrome/browser/ui/ash/chrome_capture_mode_delegate.cc @@ -161,7 +161,7 @@ ChromeCaptureModeDelegate::LaunchRecordingService() { } void ChromeCaptureModeDelegate::BindAudioStreamFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { content::GetAudioService().BindStreamFactory(std::move(receiver)); } diff --git a/chrome/browser/ui/ash/chrome_capture_mode_delegate.h b/chrome/browser/ui/ash/chrome_capture_mode_delegate.h index b2e03035131425..e98452d4ed0535 100644 --- a/chrome/browser/ui/ash/chrome_capture_mode_delegate.h +++ b/chrome/browser/ui/ash/chrome_capture_mode_delegate.h @@ -48,7 +48,8 @@ class ChromeCaptureModeDelegate : public ash::CaptureModeDelegate { mojo::Remote LaunchRecordingService() override; void BindAudioStreamFactory( - mojo::PendingReceiver receiver) override; + mojo::PendingReceiver receiver) + override; void OnSessionStateChanged(bool started) override; private: diff --git a/chromeos/services/assistant/BUILD.gn b/chromeos/services/assistant/BUILD.gn index bf553819d76779..9459e8dd9bd8dc 100644 --- a/chromeos/services/assistant/BUILD.gn +++ b/chromeos/services/assistant/BUILD.gn @@ -57,6 +57,7 @@ component("lib") { "//components/prefs", "//components/signin/public/identity_manager", "//components/user_manager", + "//media/mojo/mojom", "//services/media_session/public/cpp", "//ui/accessibility:ax_assistant", ] diff --git a/chromeos/services/assistant/DEPS b/chromeos/services/assistant/DEPS index 024284c834a6ab..2746108831353e 100644 --- a/chromeos/services/assistant/DEPS +++ b/chromeos/services/assistant/DEPS @@ -7,6 +7,7 @@ include_rules = [ "+google_apis/gaia", "+libassistant", "+media/base", + "+media/mojo/mojom", "+mojo/public", "+services/audio/public", "+services/device/public", diff --git a/chromeos/services/assistant/platform/platform_delegate_impl.cc b/chromeos/services/assistant/platform/platform_delegate_impl.cc index 2c5e46b49bdfe0..e414d15902bb85 100644 --- a/chromeos/services/assistant/platform/platform_delegate_impl.cc +++ b/chromeos/services/assistant/platform/platform_delegate_impl.cc @@ -17,7 +17,7 @@ void PlatformDelegateImpl::Bind( } void PlatformDelegateImpl::BindAudioStreamFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { AssistantClient::Get()->RequestAudioStreamFactory(std::move(receiver)); } diff --git a/chromeos/services/assistant/platform/platform_delegate_impl.h b/chromeos/services/assistant/platform/platform_delegate_impl.h index 02b327510425c9..043f7492537494 100644 --- a/chromeos/services/assistant/platform/platform_delegate_impl.h +++ b/chromeos/services/assistant/platform/platform_delegate_impl.h @@ -24,7 +24,8 @@ class PlatformDelegateImpl // chromeos::libassistant::mojom::PlatformDelegate implementation: void BindAudioStreamFactory( - mojo::PendingReceiver receiver) override; + mojo::PendingReceiver receiver) + override; void BindAudioDecoderFactory( mojo::PendingReceiver< chromeos::assistant::mojom::AssistantAudioDecoderFactory> receiver) diff --git a/chromeos/services/assistant/public/cpp/assistant_client.h b/chromeos/services/assistant/public/cpp/assistant_client.h index a0e9795fed7261..1cea5d51973d10 100644 --- a/chromeos/services/assistant/public/cpp/assistant_client.h +++ b/chromeos/services/assistant/public/cpp/assistant_client.h @@ -11,8 +11,8 @@ #include "chromeos/services/assistant/public/mojom/assistant_audio_decoder.mojom.h" #include "chromeos/services/libassistant/public/cpp/assistant_notification.h" #include "chromeos/services/network_config/public/mojom/cros_network_config.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "services/device/public/mojom/battery_monitor.mojom.h" #include "services/device/public/mojom/wake_lock_provider.mojom.h" #include "services/media_session/public/mojom/audio_focus.mojom.h" @@ -48,9 +48,9 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE_PUBLIC) AssistantClient { virtual void RequestWakeLockProvider( mojo::PendingReceiver receiver) = 0; - // Requests an Audio Service StreamFactory from the browser. + // Requests an Audio Service AudioStreamFactory from the browser. virtual void RequestAudioStreamFactory( - mojo::PendingReceiver receiver) = 0; + mojo::PendingReceiver receiver) = 0; // Requests an audio decoder interface from the Assistant Audio Decoder // service, via the browser. diff --git a/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.cc b/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.cc index 459baa6ebc61b0..c4e2aedbeb29cd 100644 --- a/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.cc +++ b/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.cc @@ -11,7 +11,7 @@ FakePlatformDelegate::FakePlatformDelegate() = default; FakePlatformDelegate::~FakePlatformDelegate() = default; void FakePlatformDelegate::BindAudioStreamFactory( - mojo::PendingReceiver<::audio::mojom::StreamFactory> receiver) { + mojo::PendingReceiver<::media::mojom::AudioStreamFactory> receiver) { stream_factory_receiver_ = std::move(receiver); } diff --git a/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.h b/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.h index e9b6fa910ad9ab..6c4bf63fcbcb60 100644 --- a/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.h +++ b/chromeos/services/assistant/public/cpp/migration/fake_platform_delegate.h @@ -23,7 +23,8 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE_MIGRATION_TEST_SUPPORT) // mojom::PlatformDelegate implementation: void BindAudioStreamFactory( - mojo::PendingReceiver<::audio::mojom::StreamFactory> receiver) override; + mojo::PendingReceiver<::media::mojom::AudioStreamFactory> receiver) + override; void BindAudioDecoderFactory( mojo::PendingReceiver< chromeos::assistant::mojom::AssistantAudioDecoderFactory> receiver) @@ -41,7 +42,7 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE_MIGRATION_TEST_SUPPORT) override {} // Return the pending receiver passed to the last BindAudioStreamFactory call. - mojo::PendingReceiver<::audio::mojom::StreamFactory> + mojo::PendingReceiver<::media::mojom::AudioStreamFactory> stream_factory_receiver() { return std::move(stream_factory_receiver_); } @@ -53,7 +54,8 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE_MIGRATION_TEST_SUPPORT) } private: - mojo::PendingReceiver<::audio::mojom::StreamFactory> stream_factory_receiver_; + mojo::PendingReceiver<::media::mojom::AudioStreamFactory> + stream_factory_receiver_; mojo::PendingReceiver<::device::mojom::BatteryMonitor> battery_monitor_receiver_; }; diff --git a/chromeos/services/assistant/test_support/scoped_assistant_client.h b/chromeos/services/assistant/test_support/scoped_assistant_client.h index 987074c3db6c46..278e346300dce0 100644 --- a/chromeos/services/assistant/test_support/scoped_assistant_client.h +++ b/chromeos/services/assistant/test_support/scoped_assistant_client.h @@ -40,7 +40,8 @@ class ScopedAssistantClient : AssistantClient { mojo::PendingReceiver receiver) override {} void RequestAudioStreamFactory( - mojo::PendingReceiver receiver) override {} + mojo::PendingReceiver receiver) + override {} void RequestAudioDecoderFactory( mojo::PendingReceiver receiver) override {} diff --git a/chromeos/services/libassistant/BUILD.gn b/chromeos/services/libassistant/BUILD.gn index 2efbe3e03a3c90..39b3360ae511e1 100644 --- a/chromeos/services/libassistant/BUILD.gn +++ b/chromeos/services/libassistant/BUILD.gn @@ -130,8 +130,8 @@ source_set("audio") { "//libassistant/shared/public", "//libassistant/shared/public:export", "//media", + "//media/mojo/mojom", "//services/audio/public/cpp", - "//services/audio/public/mojom", "//services/media_session/public/mojom", ] } diff --git a/chromeos/services/libassistant/DEPS b/chromeos/services/libassistant/DEPS index d4ca3716be477c..b09a7d1fe14491 100644 --- a/chromeos/services/libassistant/DEPS +++ b/chromeos/services/libassistant/DEPS @@ -5,6 +5,7 @@ include_rules = [ "+libassistant", "+media/audio", "+media/base", + "+media/mojo/mojom", "+services/audio/public", "+services/device/public/mojom", "+services/media_session/public/mojom", diff --git a/chromeos/services/libassistant/audio/audio_device_owner.cc b/chromeos/services/libassistant/audio/audio_device_owner.cc index d07f6ca80049e5..d76b077bab7164 100644 --- a/chromeos/services/libassistant/audio/audio_device_owner.cc +++ b/chromeos/services/libassistant/audio/audio_device_owner.cc @@ -92,7 +92,7 @@ AudioDeviceOwner::~AudioDeviceOwner() { void AudioDeviceOwner::Start( mojom::AudioOutputDelegate* audio_output_delegate, assistant_client::AudioOutput::Delegate* delegate, - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const assistant_client::OutputStreamFormat& format) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(!output_device_); @@ -147,7 +147,7 @@ void AudioDeviceOwner::MediaSessionInfoChanged( } void AudioDeviceOwner::StartDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, mojom::AudioOutputDelegate* audio_output_delegate) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); lock_.AssertAcquired(); diff --git a/chromeos/services/libassistant/audio/audio_device_owner.h b/chromeos/services/libassistant/audio/audio_device_owner.h index 05d7e5f05b7ebf..486771ac94c0b3 100644 --- a/chromeos/services/libassistant/audio/audio_device_owner.h +++ b/chromeos/services/libassistant/audio/audio_device_owner.h @@ -17,9 +17,9 @@ #include "media/base/audio_block_fifo.h" #include "media/base/audio_parameters.h" #include "media/base/audio_renderer_sink.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "services/audio/public/cpp/output_device.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "services/media_session/public/mojom/media_session.mojom.h" namespace chromeos { @@ -34,7 +34,7 @@ class AudioDeviceOwner : public media::AudioRendererSink::RenderCallback, void Start( chromeos::libassistant::mojom::AudioOutputDelegate* audio_output_delegate, assistant_client::AudioOutput::Delegate* delegate, - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const assistant_client::OutputStreamFormat& format); void Stop(); @@ -68,7 +68,7 @@ class AudioDeviceOwner : public media::AudioRendererSink::RenderCallback, private: void StartDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, mojom::AudioOutputDelegate* audio_output_delegate); // Requests assistant to fill buffer with more data. diff --git a/chromeos/services/libassistant/audio/audio_input_impl.cc b/chromeos/services/libassistant/audio/audio_input_impl.cc index 6a94ce7f18bb91..f7b6b25dcf2969 100644 --- a/chromeos/services/libassistant/audio/audio_input_impl.cc +++ b/chromeos/services/libassistant/audio/audio_input_impl.cc @@ -23,8 +23,8 @@ #include "media/base/audio_parameters.h" #include "media/base/audio_sample_types.h" #include "media/base/channel_layout.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "services/audio/public/cpp/device_factory.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace chromeos { namespace libassistant { diff --git a/chromeos/services/libassistant/audio/audio_input_stream.cc b/chromeos/services/libassistant/audio/audio_input_stream.cc index 895ed7d766e110..7ea3be09ebb045 100644 --- a/chromeos/services/libassistant/audio/audio_input_stream.cc +++ b/chromeos/services/libassistant/audio/audio_input_stream.cc @@ -46,7 +46,7 @@ AudioInputStream::~AudioInputStream() { } void AudioInputStream::Start() { - mojo::PendingRemote audio_stream_factory; + mojo::PendingRemote audio_stream_factory; delegate_->BindAudioStreamFactory( audio_stream_factory.InitWithNewPipeAndPassReceiver()); diff --git a/chromeos/services/libassistant/audio/audio_input_stream.h b/chromeos/services/libassistant/audio/audio_input_stream.h index bf49bcb94a31fd..0a34d44e723638 100644 --- a/chromeos/services/libassistant/audio/audio_input_stream.h +++ b/chromeos/services/libassistant/audio/audio_input_stream.h @@ -12,9 +12,9 @@ #include "chromeos/services/libassistant/public/mojom/platform_delegate.mojom-forward.h" #include "libassistant/shared/public/platform_audio_buffer.h" #include "media/base/audio_capturer_source.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "services/audio/public/cpp/device_factory.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace chromeos { namespace libassistant { diff --git a/chromeos/services/libassistant/audio/audio_output_provider_impl.cc b/chromeos/services/libassistant/audio/audio_output_provider_impl.cc index b379ed0962779d..7d006bb908debf 100644 --- a/chromeos/services/libassistant/audio/audio_output_provider_impl.cc +++ b/chromeos/services/libassistant/audio/audio_output_provider_impl.cc @@ -34,7 +34,7 @@ bool IsEncodedFormat(const assistant_client::OutputStreamFormat& format) { class AudioOutputImpl : public assistant_client::AudioOutput { public: AudioOutputImpl( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, scoped_refptr main_task_runner, chromeos::assistant::mojom::AssistantAudioDecoderFactory* audio_decoder_factory, @@ -126,7 +126,7 @@ class AudioOutputImpl : public assistant_client::AudioOutput { scoped_refptr main_task_runner_; - mojo::PendingRemote stream_factory_ + mojo::PendingRemote stream_factory_ GUARDED_BY_CONTEXT(main_sequence_checker_); chromeos::assistant::mojom::AssistantAudioDecoderFactory* audio_decoder_factory_ GUARDED_BY_CONTEXT(main_sequence_checker_); @@ -181,7 +181,7 @@ AudioOutputProviderImpl::~AudioOutputProviderImpl() = default; assistant_client::AudioOutput* AudioOutputProviderImpl::CreateAudioOutput( assistant_client::OutputStreamType type, const assistant_client::OutputStreamFormat& stream_format) { - mojo::PendingRemote stream_factory; + mojo::PendingRemote stream_factory; main_task_runner_->PostTask( FROM_HERE, base::BindOnce(&AudioOutputProviderImpl::BindStreamFactory, @@ -230,7 +230,7 @@ void AudioOutputProviderImpl::RegisterAudioEmittingStateCallback( } void AudioOutputProviderImpl::BindStreamFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { platform_delegate_->BindAudioStreamFactory(std::move(receiver)); } diff --git a/chromeos/services/libassistant/audio/audio_output_provider_impl.h b/chromeos/services/libassistant/audio/audio_output_provider_impl.h index 6018a883d0d63c..1641a4150a3ba4 100644 --- a/chromeos/services/libassistant/audio/audio_output_provider_impl.h +++ b/chromeos/services/libassistant/audio/audio_output_provider_impl.h @@ -21,9 +21,9 @@ #include "chromeos/services/libassistant/public/mojom/audio_output_delegate.mojom.h" #include "chromeos/services/libassistant/public/mojom/platform_delegate.mojom-forward.h" #include "libassistant/shared/public/platform_audio_output.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace chromeos { @@ -57,7 +57,7 @@ class AudioOutputProviderImpl : public assistant_client::AudioOutputProvider { private: void BindStreamFactory( - mojo::PendingReceiver receiver); + mojo::PendingReceiver receiver); // Owned by |AssistantManagerServiceImpl|. mojom::PlatformDelegate* platform_delegate_ = nullptr; diff --git a/chromeos/services/libassistant/public/mojom/BUILD.gn b/chromeos/services/libassistant/public/mojom/BUILD.gn index 9fac96cac82205..408e52782baddb 100644 --- a/chromeos/services/libassistant/public/mojom/BUILD.gn +++ b/chromeos/services/libassistant/public/mojom/BUILD.gn @@ -26,7 +26,7 @@ mojom("mojom") { "//ash/public/mojom", "//chromeos/services/assistant/public/mojom", "//chromeos/services/network_config/public/mojom", - "//services/audio/public/mojom", + "//media/mojo/mojom", "//services/device/public/mojom", "//services/media_session/public/mojom", "//services/network/public/mojom", diff --git a/chromeos/services/libassistant/public/mojom/platform_delegate.mojom b/chromeos/services/libassistant/public/mojom/platform_delegate.mojom index 6ef64f1f3067f6..e9d4129754d967 100644 --- a/chromeos/services/libassistant/public/mojom/platform_delegate.mojom +++ b/chromeos/services/libassistant/public/mojom/platform_delegate.mojom @@ -7,15 +7,16 @@ module chromeos.libassistant.mojom; import "ash/public/mojom/assistant_volume_control.mojom"; import "chromeos/services/assistant/public/mojom/assistant_audio_decoder.mojom"; import "chromeos/services/network_config/public/mojom/cros_network_config.mojom"; -import "services/audio/public/mojom/stream_factory.mojom"; +import "media/mojo/mojom/audio_stream_factory.mojom"; import "services/device/public/mojom/battery_monitor.mojom"; import "services/device/public/mojom/wake_lock_provider.mojom"; // Delegate that exposes methods to bind platform related functionality. interface PlatformDelegate { - // Requests an Audio Service StreamFactory from the browser. - BindAudioStreamFactory(pending_receiver receiver); + // Requests an Audio Service AudioStreamFactory from the browser. + BindAudioStreamFactory( + pending_receiver receiver); // Requests an audio decoder interface from the Assistant Audio Decoder // service, via the browser. diff --git a/chromeos/services/tts/public/mojom/BUILD.gn b/chromeos/services/tts/public/mojom/BUILD.gn index 32fcf99dc806f7..bb15158bac2c77 100644 --- a/chromeos/services/tts/public/mojom/BUILD.gn +++ b/chromeos/services/tts/public/mojom/BUILD.gn @@ -7,5 +7,5 @@ import("//mojo/public/tools/bindings/mojom.gni") mojom("mojom") { sources = [ "tts_service.mojom" ] - public_deps = [ "//services/audio/public/mojom" ] + public_deps = [ "//media/mojo/mojom" ] } diff --git a/chromeos/services/tts/public/mojom/tts_service.mojom b/chromeos/services/tts/public/mojom/tts_service.mojom index f1cd1c10b98aa4..d12ceac45ab6c0 100644 --- a/chromeos/services/tts/public/mojom/tts_service.mojom +++ b/chromeos/services/tts/public/mojom/tts_service.mojom @@ -4,7 +4,7 @@ module chromeos.tts.mojom; -import "services/audio/public/mojom/stream_factory.mojom"; +import "media/mojo/mojom/audio_stream_factory.mojom"; // The main interface to TTS engines on Chrome OS. Only used by and private to // the Chrome OS Google and Espeak TTS engine component extensions. TtsService @@ -31,7 +31,7 @@ interface TtsService { // AudioOutputStream remote which is bound to AudioService in the browser and // which pulls audio data for output. BindTtsStreamFactory(pending_receiver receiver, - pending_remote stream_factory); + pending_remote stream_factory); }; // Interface to create various types of tts streams. diff --git a/chromeos/services/tts/tts_service.cc b/chromeos/services/tts/tts_service.cc index 25abdb68c75a2b..45d50debe68773 100644 --- a/chromeos/services/tts/tts_service.cc +++ b/chromeos/services/tts/tts_service.cc @@ -35,7 +35,7 @@ TtsService::~TtsService() = default; void TtsService::BindTtsStreamFactory( mojo::PendingReceiver receiver, - mojo::PendingRemote factory) { + mojo::PendingRemote factory) { pending_tts_stream_factory_receivers_.push(std::move(receiver)); ProcessPendingTtsStreamFactories(); diff --git a/chromeos/services/tts/tts_service.h b/chromeos/services/tts/tts_service.h index 0f62fd15f114e2..1f97150899e03b 100644 --- a/chromeos/services/tts/tts_service.h +++ b/chromeos/services/tts/tts_service.h @@ -70,7 +70,7 @@ class TtsService : public mojom::TtsService, // mojom::TtsService: void BindTtsStreamFactory( mojo::PendingReceiver receiver, - mojo::PendingRemote factory) override; + mojo::PendingRemote factory) override; // mojom::GoogleTtsStream: void CreateGoogleTtsStream(CreateGoogleTtsStreamCallback callback) override; diff --git a/chromeos/services/tts/tts_service_unittest.cc b/chromeos/services/tts/tts_service_unittest.cc index 482b8104db3817..e2220258ec44ba 100644 --- a/chromeos/services/tts/tts_service_unittest.cc +++ b/chromeos/services/tts/tts_service_unittest.cc @@ -25,7 +25,7 @@ using CreateOutputStreamCallback = using CreateLoopbackStreamCallback = base::OnceCallback; -class MockAudioStreamFactory : public audio::mojom::StreamFactory { +class MockAudioStreamFactory : public media::mojom::AudioStreamFactory { public: void CreateInputStream( PendingReceiver stream, @@ -55,7 +55,7 @@ class MockAudioStreamFactory : public audio::mojom::StreamFactory { std::move(callback).Run(nullptr); } void BindMuter( - mojo::PendingAssociatedReceiver receiver, + mojo::PendingAssociatedReceiver receiver, const base::UnguessableToken& group_id) override {} void CreateLoopbackStream( @@ -129,7 +129,7 @@ class TtsServiceTest : public testing::Test { mojo::Remote remote_service_; TtsService service_; MockAudioStreamFactory mock_audio_stream_factory_; - mojo::Receiver audio_stream_factory_; + mojo::Receiver audio_stream_factory_; }; TEST_F(TtsServiceTest, BindMultipleStreamFactories) { diff --git a/content/browser/audio/audio_service.cc b/content/browser/audio/audio_service.cc index 2d748397db1a2b..1254c70dfba37f 100644 --- a/content/browser/audio/audio_service.cc +++ b/content/browser/audio/audio_service.cc @@ -82,7 +82,7 @@ void BindSystemInfoFromAnySequence( } void BindStreamFactoryFromAnySequence( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { GetUIThreadTaskRunner({})->PostTask( FROM_HERE, diff --git a/content/browser/media/audio_input_stream_broker.cc b/content/browser/media/audio_input_stream_broker.cc index a3257c7a060678..9219b30597c372 100644 --- a/content/browser/media/audio_input_stream_broker.cc +++ b/content/browser/media/audio_input_stream_broker.cc @@ -130,7 +130,7 @@ AudioInputStreamBroker::~AudioInputStreamBroker() { } void AudioInputStreamBroker::CreateStream( - audio::mojom::StreamFactory* factory) { + media::mojom::AudioStreamFactory* factory) { DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK(!observer_receiver_.is_bound()); DCHECK(!pending_client_receiver_); diff --git a/content/browser/media/audio_input_stream_broker.h b/content/browser/media/audio_input_stream_broker.h index 51abc29bb1dbc7..469e58242c0432 100644 --- a/content/browser/media/audio_input_stream_broker.h +++ b/content/browser/media/audio_input_stream_broker.h @@ -14,11 +14,11 @@ #include "media/base/audio_parameters.h" #include "media/mojo/mojom/audio_data_pipe.mojom.h" #include "media/mojo/mojom/audio_input_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "third_party/blink/public/mojom/media/renderer_audio_input_stream_factory.mojom.h" namespace media { @@ -48,7 +48,7 @@ class CONTENT_EXPORT AudioInputStreamBroker final ~AudioInputStreamBroker() final; // Creates the stream. - void CreateStream(audio::mojom::StreamFactory* factory) final; + void CreateStream(media::mojom::AudioStreamFactory* factory) final; // media::AudioInputStreamObserver implementation. void DidStartRecording() final; diff --git a/content/browser/media/audio_input_stream_broker_unittest.cc b/content/browser/media/audio_input_stream_broker_unittest.cc index 0f0c668b5400f9..1e7af391ff4acb 100644 --- a/content/browser/media/audio_input_stream_broker_unittest.cc +++ b/content/browser/media/audio_input_stream_broker_unittest.cc @@ -160,7 +160,7 @@ struct TestEnvironment { StrictMock renderer_factory_client; std::unique_ptr broker; MockStreamFactory stream_factory; - mojo::Remote factory_ptr{ + mojo::Remote factory_ptr{ stream_factory.MakeRemote()}; }; diff --git a/content/browser/media/audio_loopback_stream_broker.cc b/content/browser/media/audio_loopback_stream_broker.cc index d5826e4e321c9f..2ce3196031a6c6 100644 --- a/content/browser/media/audio_loopback_stream_broker.cc +++ b/content/browser/media/audio_loopback_stream_broker.cc @@ -13,7 +13,7 @@ #include "base/unguessable_token.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" namespace content { @@ -62,7 +62,7 @@ AudioLoopbackStreamBroker::~AudioLoopbackStreamBroker() { } void AudioLoopbackStreamBroker::CreateStream( - audio::mojom::StreamFactory* factory) { + media::mojom::AudioStreamFactory* factory) { DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK(!observer_receiver_.is_bound()); DCHECK(!client_receiver_); diff --git a/content/browser/media/audio_loopback_stream_broker.h b/content/browser/media/audio_loopback_stream_broker.h index 6cdc94ebd170a4..3c4bb6a4da03b2 100644 --- a/content/browser/media/audio_loopback_stream_broker.h +++ b/content/browser/media/audio_loopback_stream_broker.h @@ -24,7 +24,7 @@ namespace audio { namespace mojom { -class StreamFactory; +class AudioStreamFactory; } } // namespace audio @@ -51,7 +51,7 @@ class CONTENT_EXPORT AudioLoopbackStreamBroker final ~AudioLoopbackStreamBroker() final; // Creates the stream. - void CreateStream(audio::mojom::StreamFactory* factory) final; + void CreateStream(media::mojom::AudioStreamFactory* factory) final; // media::AudioInputStreamObserver implementation. void DidStartRecording() final; diff --git a/content/browser/media/audio_loopback_stream_broker_unittest.cc b/content/browser/media/audio_loopback_stream_broker_unittest.cc index 8f558e7b357e9e..d0fc98c3f5950a 100644 --- a/content/browser/media/audio_loopback_stream_broker_unittest.cc +++ b/content/browser/media/audio_loopback_stream_broker_unittest.cc @@ -116,7 +116,7 @@ class MockStreamFactory : public audio::FakeStreamFactory { base::UnguessableToken group_id; mojo::ScopedSharedBufferHandle key_press_count_buffer; CreateLoopbackStreamCallback created_callback; - mojo::PendingAssociatedReceiver muter_receiver; + mojo::PendingAssociatedReceiver muter_receiver; }; void ExpectStreamCreation(StreamRequestData* ex) { @@ -147,7 +147,7 @@ class MockStreamFactory : public audio::FakeStreamFactory { } void BindMuter( - mojo::PendingAssociatedReceiver receiver, + mojo::PendingAssociatedReceiver receiver, const base::UnguessableToken& group_id) final { stream_request_data_->muter_receiver = std::move(receiver); IsMuting(group_id); @@ -178,7 +178,7 @@ struct TestEnvironment { StrictMock renderer_factory_client; std::unique_ptr broker; MockStreamFactory stream_factory; - mojo::Remote factory_ptr{ + mojo::Remote factory_ptr{ stream_factory.MakeRemote()}; }; diff --git a/content/browser/media/audio_muting_session.cc b/content/browser/media/audio_muting_session.cc index e24e5758906289..1f776470caaae0 100644 --- a/content/browser/media/audio_muting_session.cc +++ b/content/browser/media/audio_muting_session.cc @@ -11,7 +11,7 @@ AudioMutingSession::AudioMutingSession(const base::UnguessableToken& group_id) AudioMutingSession::~AudioMutingSession() = default; -void AudioMutingSession::Connect(audio::mojom::StreamFactory* factory) { +void AudioMutingSession::Connect(media::mojom::AudioStreamFactory* factory) { if (muter_) muter_.reset(); diff --git a/content/browser/media/audio_muting_session.h b/content/browser/media/audio_muting_session.h index 5fe9789f42355a..f0aaf4dabaf77d 100644 --- a/content/browser/media/audio_muting_session.h +++ b/content/browser/media/audio_muting_session.h @@ -9,8 +9,8 @@ #include "base/unguessable_token.h" #include "content/common/content_export.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/associated_remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace content { @@ -19,11 +19,11 @@ class CONTENT_EXPORT AudioMutingSession { explicit AudioMutingSession(const base::UnguessableToken& group_id); ~AudioMutingSession(); - void Connect(audio::mojom::StreamFactory* factory); + void Connect(media::mojom::AudioStreamFactory* factory); private: const base::UnguessableToken group_id_; - mojo::AssociatedRemote muter_; + mojo::AssociatedRemote muter_; DISALLOW_COPY_AND_ASSIGN(AudioMutingSession); }; diff --git a/content/browser/media/audio_output_stream_broker.cc b/content/browser/media/audio_output_stream_broker.cc index 9edb6597fe53c1..fac37f636cfd41 100644 --- a/content/browser/media/audio_output_stream_broker.cc +++ b/content/browser/media/audio_output_stream_broker.cc @@ -112,7 +112,7 @@ AudioOutputStreamBroker::~AudioOutputStreamBroker() { } void AudioOutputStreamBroker::CreateStream( - audio::mojom::StreamFactory* factory) { + media::mojom::AudioStreamFactory* factory) { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); DCHECK(!observer_receiver_.is_bound()); TRACE_EVENT_NESTABLE_ASYNC_BEGIN1("audio", "CreateStream", this, "device id", diff --git a/content/browser/media/audio_output_stream_broker.h b/content/browser/media/audio_output_stream_broker.h index c9bac8dd8fb9d7..0cfea8af41545e 100644 --- a/content/browser/media/audio_output_stream_broker.h +++ b/content/browser/media/audio_output_stream_broker.h @@ -17,10 +17,10 @@ #include "content/common/content_export.h" #include "media/base/audio_parameters.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/associated_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace content { @@ -43,7 +43,7 @@ class CONTENT_EXPORT AudioOutputStreamBroker final : public AudioStreamBroker { ~AudioOutputStreamBroker() final; // Creates the stream. - void CreateStream(audio::mojom::StreamFactory* factory) final; + void CreateStream(media::mojom::AudioStreamFactory* factory) final; private: using DisconnectReason = diff --git a/content/browser/media/audio_output_stream_broker_unittest.cc b/content/browser/media/audio_output_stream_broker_unittest.cc index 46819c224ad70a..46d82d4e38a7a3 100644 --- a/content/browser/media/audio_output_stream_broker_unittest.cc +++ b/content/browser/media/audio_output_stream_broker_unittest.cc @@ -160,7 +160,7 @@ struct TestEnvironment { StrictMock provider_client; std::unique_ptr broker; MockStreamFactory stream_factory; - mojo::Remote factory_ptr{ + mojo::Remote factory_ptr{ stream_factory.MakeRemote()}; }; diff --git a/content/browser/media/audio_stream_broker.h b/content/browser/media/audio_stream_broker.h index 105dc771ca8203..7631a557272877 100644 --- a/content/browser/media/audio_stream_broker.h +++ b/content/browser/media/audio_stream_broker.h @@ -18,12 +18,6 @@ #include "mojo/public/cpp/bindings/pending_remote.h" #include "third_party/blink/public/mojom/media/renderer_audio_input_stream_factory.mojom.h" -namespace audio { -namespace mojom { -class StreamFactory; -} -} // namespace audio - namespace base { class UnguessableToken; } @@ -31,6 +25,9 @@ class UnguessableToken; namespace media { class AudioParameters; class UserInputMonitorBase; +namespace mojom { +class AudioStreamFactory; +} } namespace content { @@ -68,7 +65,7 @@ class CONTENT_EXPORT AudioStreamBroker { AudioStreamBroker(int render_process_id, int render_frame_id); virtual ~AudioStreamBroker(); - virtual void CreateStream(audio::mojom::StreamFactory* factory) = 0; + virtual void CreateStream(media::mojom::AudioStreamFactory* factory) = 0; // Thread-safe utility that notifies the process host identified by // |render_process_id| of a started stream to ensure that the renderer is not diff --git a/content/browser/media/forwarding_audio_stream_factory.cc b/content/browser/media/forwarding_audio_stream_factory.cc index fba4ac53f82985..6290b449698ed9 100644 --- a/content/browser/media/forwarding_audio_stream_factory.cc +++ b/content/browser/media/forwarding_audio_stream_factory.cc @@ -27,17 +27,18 @@ namespace content { namespace { -ForwardingAudioStreamFactory::StreamFactoryBinder& -GetStreamFactoryBinderOverride() { - static base::NoDestructor +ForwardingAudioStreamFactory::AudioStreamFactoryBinder& +GetAudioStreamFactoryBinderOverride() { + static base::NoDestructor< + ForwardingAudioStreamFactory::AudioStreamFactoryBinder> binder; return *binder; } void BindStreamFactoryFromUIThread( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - const auto& binder_override = GetStreamFactoryBinderOverride(); + const auto& binder_override = GetAudioStreamFactoryBinderOverride(); if (binder_override) { binder_override.Run(std::move(receiver)); return; @@ -282,9 +283,9 @@ void ForwardingAudioStreamFactory::FrameDeleted( render_frame_host->GetRoutingID())); } -void ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( - StreamFactoryBinder binder) { - GetStreamFactoryBinderOverride() = std::move(binder); +void ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( + AudioStreamFactoryBinder binder) { + GetAudioStreamFactoryBinderOverride() = std::move(binder); } void ForwardingAudioStreamFactory::Core::CleanupStreamsBelongingTo( @@ -330,7 +331,8 @@ void ForwardingAudioStreamFactory::Core::RemoveOutput( ResetRemoteFactoryPtrIfIdle(); } -audio::mojom::StreamFactory* ForwardingAudioStreamFactory::Core::GetFactory() { +media::mojom::AudioStreamFactory* +ForwardingAudioStreamFactory::Core::GetFactory() { DCHECK_CURRENTLY_ON(BrowserThread::IO); if (!remote_factory_) { TRACE_EVENT_INSTANT1( diff --git a/content/browser/media/forwarding_audio_stream_factory.h b/content/browser/media/forwarding_audio_stream_factory.h index 8fb6fd8f77b961..8bd2e80a2e58b9 100644 --- a/content/browser/media/forwarding_audio_stream_factory.h +++ b/content/browser/media/forwarding_audio_stream_factory.h @@ -20,9 +20,9 @@ #include "content/common/content_export.h" #include "content/public/browser/web_contents_observer.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "third_party/blink/public/mojom/media/renderer_audio_input_stream_factory.mojom.h" namespace media { @@ -119,7 +119,7 @@ class CONTENT_EXPORT ForwardingAudioStreamFactory final void RemoveInput(AudioStreamBroker* handle); void RemoveOutput(AudioStreamBroker* handle); - audio::mojom::StreamFactory* GetFactory(); + media::mojom::AudioStreamFactory* GetFactory(); void ResetRemoteFactoryPtrIfIdle(); void ResetRemoteFactoryPtr(); @@ -141,7 +141,7 @@ class CONTENT_EXPORT ForwardingAudioStreamFactory final // since we want to clean up the service when not in use. If we have active // muting but nothing else, we should stop it and start it again when we // need to reacquire the factory for some other reason. - mojo::Remote remote_factory_; + mojo::Remote remote_factory_; // Running id used for tracking audible streams. We keep count here to avoid // collisions. @@ -203,11 +203,12 @@ class CONTENT_EXPORT ForwardingAudioStreamFactory final Core* core() { return core_.get(); } - // Allows tests to override how StreamFactory interface receivers are bound - // instead of sending them to the Audio Service. - using StreamFactoryBinder = base::RepeatingCallback)>; - static void OverrideStreamFactoryBinderForTesting(StreamFactoryBinder binder); + // Allows tests to override how AudioStreamFactory interface receivers are + // bound instead of sending them to the Audio Service. + using AudioStreamFactoryBinder = base::RepeatingCallback)>; + static void OverrideAudioStreamFactoryBinderForTesting( + AudioStreamFactoryBinder binder); private: std::unique_ptr core_; diff --git a/content/browser/media/forwarding_audio_stream_factory_unittest.cc b/content/browser/media/forwarding_audio_stream_factory_unittest.cc index 8c964872b8738f..131766c2600499 100644 --- a/content/browser/media/forwarding_audio_stream_factory_unittest.cc +++ b/content/browser/media/forwarding_audio_stream_factory_unittest.cc @@ -18,11 +18,11 @@ #include "content/public/test/test_renderer_host.h" #include "media/base/audio_parameters.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/associated_receiver.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "services/audio/public/cpp/fake_stream_factory.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/public/mojom/media/renderer_audio_input_stream_factory.mojom.h" @@ -38,7 +38,7 @@ namespace content { namespace { class MockStreamFactory : public audio::FakeStreamFactory, - public audio::mojom::LocalMuter { + public media::mojom::LocalMuter { public: MockStreamFactory() = default; ~MockStreamFactory() final = default; @@ -48,7 +48,7 @@ class MockStreamFactory : public audio::FakeStreamFactory, private: void BindMuter( - mojo::PendingAssociatedReceiver receiver, + mojo::PendingAssociatedReceiver receiver, const base::UnguessableToken& group_id) final { muter_receiver_.Bind(std::move(receiver)); muter_receiver_.set_disconnect_handler(base::BindOnce( @@ -56,7 +56,7 @@ class MockStreamFactory : public audio::FakeStreamFactory, } void MuterDisconnected() { muter_receiver_.reset(); } - mojo::AssociatedReceiver muter_receiver_{this}; + mojo::AssociatedReceiver muter_receiver_{this}; DISALLOW_COPY_AND_ASSIGN(MockStreamFactory); }; @@ -67,7 +67,7 @@ class MockBroker : public AudioStreamBroker { ~MockBroker() override {} - MOCK_METHOD1(CreateStream, void(audio::mojom::StreamFactory* factory)); + MOCK_METHOD1(CreateStream, void(media::mojom::AudioStreamFactory* factory)); // Can be used to verify that |this| has been destructed. base::WeakPtr GetWeakPtr() { return weak_factory_.GetWeakPtr(); } @@ -184,13 +184,13 @@ class ForwardingAudioStreamFactoryTest : public RenderViewHostTestHarness { public: ForwardingAudioStreamFactoryTest() : broker_factory_(std::make_unique()) { - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::BindRepeating(&ForwardingAudioStreamFactoryTest::BindFactory, base::Unretained(this))); } ~ForwardingAudioStreamFactoryTest() override { - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::NullCallback()); } @@ -202,7 +202,7 @@ class ForwardingAudioStreamFactoryTest : public RenderViewHostTestHarness { } void BindFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { stream_factory_.receiver_.Bind(std::move(receiver)); stream_factory_.receiver_.set_disconnect_handler( base::BindOnce(&audio::FakeStreamFactory::ResetReceiver, diff --git a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc index 9f8843342858cf..fcec9938e5ee01 100644 --- a/content/browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc +++ b/content/browser/renderer_host/media/render_frame_audio_input_stream_factory_unittest.cc @@ -31,12 +31,12 @@ #include "media/audio/test_audio_thread.h" #include "media/base/audio_parameters.h" #include "media/mojo/mojom/audio_data_pipe.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" #include "services/audio/public/cpp/fake_stream_factory.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -70,7 +70,7 @@ class MAYBE_RenderFrameAudioInputStreamFactoryTest RenderFrameHostTester::For(main_rfh())->InitializeRenderFrameIfNeeded(); // Set up the ForwardingAudioStreamFactory. - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::BindRepeating( &MAYBE_RenderFrameAudioInputStreamFactoryTest::BindFactory, base::Unretained(this))); @@ -79,14 +79,14 @@ class MAYBE_RenderFrameAudioInputStreamFactoryTest } void TearDown() override { - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::NullCallback()); audio_manager_.Shutdown(); RenderViewHostTestHarness::TearDown(); } void BindFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { audio_service_stream_factory_.receiver_.Bind(std::move(receiver)); } @@ -123,7 +123,7 @@ class MAYBE_RenderFrameAudioInputStreamFactoryTest CreateInputStreamCallback last_created_callback; CreateLoopbackStreamCallback last_created_loopback_callback; - mojo::Receiver receiver_{this}; + mojo::Receiver receiver_{this}; }; class FakeRendererAudioInputStreamFactoryClient diff --git a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc index 679cd70c029372..1a005ac9493d16 100644 --- a/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc +++ b/content/browser/renderer_host/media/render_frame_audio_output_stream_factory_unittest.cc @@ -28,12 +28,12 @@ #include "media/audio/test_audio_thread.h" #include "media/base/audio_parameters.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_associated_remote.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" #include "services/audio/public/cpp/fake_stream_factory.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -63,7 +63,7 @@ class RenderFrameAudioOutputStreamFactoryTest RenderFrameHostTester::For(main_rfh())->InitializeRenderFrameIfNeeded(); // Set up the ForwardingAudioStreamFactory. - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::BindRepeating( &RenderFrameAudioOutputStreamFactoryTest::BindFactory, base::Unretained(this))); @@ -72,14 +72,14 @@ class RenderFrameAudioOutputStreamFactoryTest } void TearDown() override { - ForwardingAudioStreamFactory::OverrideStreamFactoryBinderForTesting( + ForwardingAudioStreamFactory::OverrideAudioStreamFactoryBinderForTesting( base::NullCallback()); audio_manager_.Shutdown(); RenderViewHostTestHarness::TearDown(); } void BindFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { audio_service_stream_factory_.receiver_.Bind(std::move(receiver)); } @@ -211,7 +211,7 @@ TEST_F(RenderFrameAudioOutputStreamFactoryTest, provider_remote->Acquire(kParams, std::move(client)); } - audio::mojom::StreamFactory::CreateOutputStreamCallback created_callback; + media::mojom::AudioStreamFactory::CreateOutputStreamCallback created_callback; EXPECT_CALL(mock_callback, Run(media::OUTPUT_DEVICE_STATUS_OK, _, std::string())); @@ -236,7 +236,8 @@ TEST_F(RenderFrameAudioOutputStreamFactoryTest, provider_remote.BindNewPipeAndPassReceiver(), base::nullopt, kDefaultDeviceId, mock_callback.Get()); - audio::mojom::StreamFactory::CreateOutputStreamCallback created_callback; + media::mojom::AudioStreamFactory::CreateOutputStreamCallback + created_callback; EXPECT_CALL(mock_callback, Run(media::OUTPUT_DEVICE_STATUS_OK, _, std::string())); base::RunLoop().RunUntilIdle(); diff --git a/content/browser/speech/speech_recognizer_impl.cc b/content/browser/speech/speech_recognizer_impl.cc index c17b704614b293..06f822c938d2b8 100644 --- a/content/browser/speech/speech_recognizer_impl.cc +++ b/content/browser/speech/speech_recognizer_impl.cc @@ -874,7 +874,7 @@ media::AudioSystem* SpeechRecognizerImpl::GetAudioSystem() { } void SpeechRecognizerImpl::CreateAudioCapturerSource() { - mojo::PendingRemote stream_factory; + mojo::PendingRemote stream_factory; GetAudioServiceStreamFactoryBinder().Run( stream_factory.InitWithNewPipeAndPassReceiver()); audio_capturer_source_ = audio::CreateInputDevice( diff --git a/content/public/browser/audio_service.h b/content/public/browser/audio_service.h index 6fc86df3637b75..0debfd9395ba9e 100644 --- a/content/public/browser/audio_service.h +++ b/content/public/browser/audio_service.h @@ -7,9 +7,9 @@ #include "base/callback.h" #include "content/common/content_export.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "services/audio/public/mojom/audio_service.mojom.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace media { class AudioSystem; @@ -28,9 +28,9 @@ CONTENT_EXPORT std::unique_ptr CreateAudioSystemForAudioService(); // Returns a callback that can be invoked from any sequence to safely bind a -// StreamFactory interface receiver in the Audio Service. +// AudioStreamFactory interface receiver in the Audio Service. using AudioServiceStreamFactoryBinder = base::RepeatingCallback)>; + mojo::PendingReceiver)>; CONTENT_EXPORT AudioServiceStreamFactoryBinder GetAudioServiceStreamFactoryBinder(); diff --git a/media/mojo/mojom/BUILD.gn b/media/mojo/mojom/BUILD.gn index 44e9f738a81253..deb0c8a0b26d23 100644 --- a/media/mojo/mojom/BUILD.gn +++ b/media/mojo/mojom/BUILD.gn @@ -17,6 +17,7 @@ mojom("mojom") { "audio_logging.mojom", "audio_output_stream.mojom", "audio_parameters.mojom", + "audio_stream_factory.mojom", "cdm_infobar_service.mojom", "cdm_service.mojom", "cdm_storage.mojom", diff --git a/services/audio/public/mojom/stream_factory.mojom b/media/mojo/mojom/audio_stream_factory.mojom similarity index 99% rename from services/audio/public/mojom/stream_factory.mojom rename to media/mojo/mojom/audio_stream_factory.mojom index 3708fdcda8762b..0b1e61f23f1713 100644 --- a/services/audio/public/mojom/stream_factory.mojom +++ b/media/mojo/mojom/audio_stream_factory.mojom @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -module audio.mojom; +module media.mojom; import "media/mojo/mojom/audio_data_pipe.mojom"; import "media/mojo/mojom/audio_input_stream.mojom"; @@ -24,7 +24,7 @@ interface LocalMuter {}; // // The client must keep the connection to the factory while streams are // running. -interface StreamFactory { +interface AudioStreamFactory { // Creates an AudioInputStream and returns the AudioDataPipe it writes data to // and a bool indicating whether the stream is initially muted. |data_pipe| is // null, |initially_muted| is false and |stream_id| is empty in case stream diff --git a/services/audio/BUILD.gn b/services/audio/BUILD.gn index a2dbdd3dad9b29..2112adf11fb70b 100644 --- a/services/audio/BUILD.gn +++ b/services/audio/BUILD.gn @@ -71,6 +71,7 @@ source_set("audio") { public_deps = [ "//base", "//media", + "//media/mojo/mojom", "//media/webrtc", "//services/audio/public/mojom", ] diff --git a/services/audio/input_stream_unittest.cc b/services/audio/input_stream_unittest.cc index 0e065d1897e99a..3a21e27ea61975 100644 --- a/services/audio/input_stream_unittest.cc +++ b/services/audio/input_stream_unittest.cc @@ -200,8 +200,8 @@ class AudioServiceInputStreamTest : public testing::Test { base::test::TaskEnvironment scoped_task_env_; media::MockAudioManager audio_manager_; StreamFactory stream_factory_; - mojo::Remote remote_stream_factory_; - mojo::Receiver stream_factory_receiver_; + mojo::Remote remote_stream_factory_; + mojo::Receiver stream_factory_receiver_; StrictMock client_; StrictMock observer_; NiceMock log_; diff --git a/services/audio/local_muter.cc b/services/audio/local_muter.cc index 00d5f2b567d031..38367f56c7577d 100644 --- a/services/audio/local_muter.cc +++ b/services/audio/local_muter.cc @@ -43,7 +43,7 @@ void LocalMuter::SetAllBindingsLostCallback(base::OnceClosure callback) { } void LocalMuter::AddReceiver( - mojo::PendingAssociatedReceiver receiver) { + mojo::PendingAssociatedReceiver receiver) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); receivers_.Add(this, std::move(receiver)); } diff --git a/services/audio/local_muter.h b/services/audio/local_muter.h index 7e0a18e412152c..fba3b95c9d4eaa 100644 --- a/services/audio/local_muter.h +++ b/services/audio/local_muter.h @@ -9,10 +9,10 @@ #include "base/macros.h" #include "base/sequence_checker.h" #include "base/unguessable_token.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/associated_receiver_set.h" #include "mojo/public/cpp/bindings/pending_associated_receiver.h" #include "services/audio/loopback_coordinator.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { @@ -20,8 +20,8 @@ class LoopbackGroupMember; // Mutes a group of streams, from construction time until destruction time. In // between, LocalMuter ensures new group members are also muted. Holds all -// mojom::LocalMuter bindings. -class LocalMuter final : public mojom::LocalMuter, +// media::mojom::LocalMuter bindings. +class LocalMuter final : public media::mojom::LocalMuter, public LoopbackCoordinator::Observer { public: LocalMuter(LoopbackCoordinator* coordinator, @@ -34,7 +34,8 @@ class LocalMuter final : public mojom::LocalMuter, // SetAllBindingsLostCallback() must be called before the first call to // AddBinding(). void SetAllBindingsLostCallback(base::OnceClosure callback); - void AddReceiver(mojo::PendingAssociatedReceiver receiver); + void AddReceiver( + mojo::PendingAssociatedReceiver receiver); // LoopbackCoordinator::Observer implementation. void OnMemberJoinedGroup(LoopbackGroupMember* member) final; @@ -47,7 +48,7 @@ class LocalMuter final : public mojom::LocalMuter, LoopbackCoordinator* const coordinator_; const base::UnguessableToken group_id_; - mojo::AssociatedReceiverSet receivers_; + mojo::AssociatedReceiverSet receivers_; base::OnceClosure all_bindings_lost_callback_; SEQUENCE_CHECKER(sequence_checker_); diff --git a/services/audio/local_muter_unittest.cc b/services/audio/local_muter_unittest.cc index c17a58c2464cf5..4c306f211dd491 100644 --- a/services/audio/local_muter_unittest.cc +++ b/services/audio/local_muter_unittest.cc @@ -100,9 +100,9 @@ TEST(LocalMuter, UnmutesWhenLastBindingIsLost) { muter->SetAllBindingsLostCallback(callback.Get()); // Create two bindings to the muter. - mojo::AssociatedRemote remote_muter1; + mojo::AssociatedRemote remote_muter1; muter->AddReceiver(remote_muter1.BindNewEndpointAndPassReceiver()); - mojo::AssociatedRemote remote_muter2; + mojo::AssociatedRemote remote_muter2; muter->AddReceiver(remote_muter2.BindNewEndpointAndPassReceiver()); // A member joins the group and should be muted. diff --git a/services/audio/output_stream_unittest.cc b/services/audio/output_stream_unittest.cc index 95b5636cfd4041..3b51c2e55bb689 100644 --- a/services/audio/output_stream_unittest.cc +++ b/services/audio/output_stream_unittest.cc @@ -183,8 +183,8 @@ class TestEnvironment { base::test::TaskEnvironment tasks_; media::MockAudioManager audio_manager_; StreamFactory stream_factory_; - mojo::Remote remote_stream_factory_; - mojo::Receiver stream_factory_receiver_; + mojo::Remote remote_stream_factory_; + mojo::Receiver stream_factory_receiver_; StrictMock observer_; NiceMock log_; StrictMock created_callback_; diff --git a/services/audio/public/cpp/device_factory.cc b/services/audio/public/cpp/device_factory.cc index 0271211f693418..00c2638af34351 100644 --- a/services/audio/public/cpp/device_factory.cc +++ b/services/audio/public/cpp/device_factory.cc @@ -14,7 +14,7 @@ namespace audio { scoped_refptr CreateInputDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const std::string& device_id, DeadStreamDetection detect_dead_stream, mojo::PendingRemote log) { @@ -26,7 +26,7 @@ scoped_refptr CreateInputDevice( } scoped_refptr CreateInputDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const std::string& device_id, DeadStreamDetection detect_dead_stream) { return CreateInputDevice(std::move(stream_factory), device_id, diff --git a/services/audio/public/cpp/device_factory.h b/services/audio/public/cpp/device_factory.h index 843fbc5e85e3e4..7477414952b104 100644 --- a/services/audio/public/cpp/device_factory.h +++ b/services/audio/public/cpp/device_factory.h @@ -9,20 +9,20 @@ #include #include "media/audio/audio_input_device.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { using DeadStreamDetection = media::AudioInputDevice::DeadStreamDetection; scoped_refptr CreateInputDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const std::string& device_id, DeadStreamDetection detect_dead_stream); scoped_refptr CreateInputDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const std::string& device_id, DeadStreamDetection detect_dead_stream, mojo::PendingRemote); diff --git a/services/audio/public/cpp/fake_stream_factory.h b/services/audio/public/cpp/fake_stream_factory.h index f64779375ed5fa..d5c54d3afa0f9e 100644 --- a/services/audio/public/cpp/fake_stream_factory.h +++ b/services/audio/public/cpp/fake_stream_factory.h @@ -11,18 +11,18 @@ #include "base/run_loop.h" #include "media/mojo/mojom/audio_input_stream.mojom.h" #include "media/mojo/mojom/audio_logging.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/receiver.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { -class FakeStreamFactory : public mojom::StreamFactory { +class FakeStreamFactory : public media::mojom::AudioStreamFactory { public: FakeStreamFactory(); ~FakeStreamFactory() override; - mojo::PendingRemote MakeRemote() { + mojo::PendingRemote MakeRemote() { auto remote = receiver_.BindNewPipeAndPassRemote(); receiver_.set_disconnect_handler(base::BindOnce( &FakeStreamFactory::ResetReceiver, base::Unretained(this))); @@ -65,8 +65,9 @@ class FakeStreamFactory : public mojom::StreamFactory { const media::AudioParameters& params, const base::UnguessableToken& group_id, CreateOutputStreamCallback created_callback) override {} - void BindMuter(mojo::PendingAssociatedReceiver receiver, - const base::UnguessableToken& group_id) override {} + void BindMuter( + mojo::PendingAssociatedReceiver receiver, + const base::UnguessableToken& group_id) override {} void CreateLoopbackStream( mojo::PendingReceiver receiver, mojo::PendingRemote client, @@ -76,7 +77,7 @@ class FakeStreamFactory : public mojom::StreamFactory { const base::UnguessableToken& group_id, CreateLoopbackStreamCallback created_callback) override {} - mojo::Receiver receiver_{this}; + mojo::Receiver receiver_{this}; private: base::Optional disconnect_loop_; diff --git a/services/audio/public/cpp/input_ipc.cc b/services/audio/public/cpp/input_ipc.cc index 12f7ccf336fbe3..1ecb11364c61d8 100644 --- a/services/audio/public/cpp/input_ipc.cc +++ b/services/audio/public/cpp/input_ipc.cc @@ -15,7 +15,7 @@ namespace audio { InputIPC::InputIPC( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const std::string& device_id, mojo::PendingRemote log) : device_id_(device_id), diff --git a/services/audio/public/cpp/input_ipc.h b/services/audio/public/cpp/input_ipc.h index 47b96d263825ff..7860c6a1d757da 100644 --- a/services/audio/public/cpp/input_ipc.h +++ b/services/audio/public/cpp/input_ipc.h @@ -16,10 +16,10 @@ #include "media/audio/audio_input_ipc.h" #include "media/mojo/mojom/audio_input_stream.mojom.h" #include "media/mojo/mojom/audio_logging.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { @@ -29,7 +29,7 @@ namespace audio { class InputIPC : public media::AudioInputIPC, public media::mojom::AudioInputStreamClient { public: - InputIPC(mojo::PendingRemote stream_factory, + InputIPC(mojo::PendingRemote stream_factory, const std::string& device_id, mojo::PendingRemote log); ~InputIPC() override; @@ -66,8 +66,8 @@ class InputIPC : public media::AudioInputIPC, // bound to |stream_factory_|. This is done because the constructor may be // called from a different sequence than the other functions and // |stream_factory_| must be bound on the sequence which uses it. - mojo::Remote stream_factory_; - mojo::PendingRemote pending_stream_factory_; + mojo::Remote stream_factory_; + mojo::PendingRemote pending_stream_factory_; mojo::Remote log_; diff --git a/services/audio/public/cpp/input_ipc_unittest.cc b/services/audio/public/cpp/input_ipc_unittest.cc index 839e18184cb2ac..3bba317e5b7969 100644 --- a/services/audio/public/cpp/input_ipc_unittest.cc +++ b/services/audio/public/cpp/input_ipc_unittest.cc @@ -78,7 +78,7 @@ class TestStreamFactory : public audio::FakeStreamFactory { void(const base::UnguessableToken& input_stream_id, const std::string& output_device_id)); - mojo::PendingRemote MakeRemote() { + mojo::PendingRemote MakeRemote() { return receiver_.BindNewPipeAndPassRemote(); } diff --git a/services/audio/public/cpp/output_device.cc b/services/audio/public/cpp/output_device.cc index f58b3a1a2b6bf7..58a33b77aa0c49 100644 --- a/services/audio/public/cpp/output_device.cc +++ b/services/audio/public/cpp/output_device.cc @@ -18,7 +18,7 @@ namespace audio { OutputDevice::OutputDevice( - mojo::PendingRemote stream_factory, + mojo::PendingRemote stream_factory, const media::AudioParameters& params, media::AudioRendererSink::RenderCallback* render_callback, const std::string& device_id) diff --git a/services/audio/public/cpp/output_device.h b/services/audio/public/cpp/output_device.h index adb892f816e302..bd896369ebf5b6 100644 --- a/services/audio/public/cpp/output_device.h +++ b/services/audio/public/cpp/output_device.h @@ -10,9 +10,9 @@ #include "media/base/audio_renderer_sink.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace media { class AudioDeviceThread; @@ -24,10 +24,11 @@ namespace audio { class OutputDevice { public: // media::AudioRendererSink::RenderCallback must outlive |this|. - OutputDevice(mojo::PendingRemote stream_factory, - const media::AudioParameters& params, - media::AudioRendererSink::RenderCallback* callback, - const std::string& device_id); + OutputDevice( + mojo::PendingRemote stream_factory, + const media::AudioParameters& params, + media::AudioRendererSink::RenderCallback* callback, + const std::string& device_id); // Blocking call; see base/threading/thread_restrictions.h. ~OutputDevice(); @@ -48,7 +49,7 @@ class OutputDevice { media::AudioParameters audio_parameters_; media::AudioRendererSink::RenderCallback* render_callback_; mojo::Remote stream_; - mojo::Remote stream_factory_; + mojo::Remote stream_factory_; base::WeakPtrFactory weak_factory_{this}; diff --git a/services/audio/public/cpp/output_device_unittest.cc b/services/audio/public/cpp/output_device_unittest.cc index 756e27dbd99cc9..a576eaacf15be4 100644 --- a/services/audio/public/cpp/output_device_unittest.cc +++ b/services/audio/public/cpp/output_device_unittest.cc @@ -119,8 +119,8 @@ class FakeOutputStreamFactory : public audio::FakeStreamFactory { } void Bind(mojo::ScopedMessagePipeHandle handle) { - receiver_.Bind( - mojo::PendingReceiver(std::move(handle))); + receiver_.Bind(mojo::PendingReceiver( + std::move(handle))); } StrictMock stream_; @@ -177,7 +177,7 @@ class AudioServiceOutputDeviceTest : public testing::Test { task_env_.RunUntilIdle(); } - mojo::PendingRemote MakeFactoryRemote() { + mojo::PendingRemote MakeFactoryRemote() { return stream_factory_->receiver_.BindNewPipeAndPassRemote(); } diff --git a/services/audio/public/cpp/sounds/audio_stream_handler.cc b/services/audio/public/cpp/sounds/audio_stream_handler.cc index 0edf8adc8ec174..2cc71cb03452be 100644 --- a/services/audio/public/cpp/sounds/audio_stream_handler.cc +++ b/services/audio/public/cpp/sounds/audio_stream_handler.cc @@ -19,8 +19,8 @@ #include "media/audio/wav_audio_handler.h" #include "media/base/channel_layout.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "services/audio/public/cpp/output_device.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { @@ -70,7 +70,7 @@ class AudioStreamHandler::AudioStreamContainer if (g_observer_for_testing) { g_observer_for_testing->Initialize(this, params); } else { - mojo::PendingRemote stream_factory; + mojo::PendingRemote stream_factory; stream_factory_binder_.Run( stream_factory.InitWithNewPipeAndPassReceiver()); device_ = std::make_unique( diff --git a/services/audio/public/cpp/sounds/sounds_manager.h b/services/audio/public/cpp/sounds/sounds_manager.h index 7128cb5f1aaef2..253f831975cfcc 100644 --- a/services/audio/public/cpp/sounds/sounds_manager.h +++ b/services/audio/public/cpp/sounds/sounds_manager.h @@ -13,8 +13,8 @@ #include "base/strings/string_piece.h" #include "base/time/time.h" #include "media/base/media_export.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace audio { @@ -26,7 +26,7 @@ class SoundsManager { // Creates a singleton instance of the SoundsManager. using StreamFactoryBinder = base::RepeatingCallback)>; + mojo::PendingReceiver)>; static void Create(StreamFactoryBinder stream_factory_binder); // Removes a singleton instance of the SoundsManager. diff --git a/services/audio/public/mojom/BUILD.gn b/services/audio/public/mojom/BUILD.gn index da7ba00c1fec78..869517c3979994 100644 --- a/services/audio/public/mojom/BUILD.gn +++ b/services/audio/public/mojom/BUILD.gn @@ -11,7 +11,6 @@ mojom("mojom") { "debug_recording.mojom", "device_notifications.mojom", "log_factory_manager.mojom", - "stream_factory.mojom", "system_info.mojom", "testing_api.mojom", ] diff --git a/services/audio/public/mojom/audio_service.mojom b/services/audio/public/mojom/audio_service.mojom index 53b4505f6465bb..2c1f4cd2f1fb69 100644 --- a/services/audio/public/mojom/audio_service.mojom +++ b/services/audio/public/mojom/audio_service.mojom @@ -4,10 +4,10 @@ module audio.mojom; +import "media/mojo/mojom/audio_stream_factory.mojom"; import "services/audio/public/mojom/debug_recording.mojom"; import "services/audio/public/mojom/device_notifications.mojom"; import "services/audio/public/mojom/log_factory_manager.mojom"; -import "services/audio/public/mojom/stream_factory.mojom"; import "services/audio/public/mojom/system_info.mojom"; import "services/audio/public/mojom/testing_api.mojom"; @@ -21,7 +21,7 @@ interface AudioService { BindDebugRecording(pending_receiver receiver); // Binds a StreamFactory interface receiver. - BindStreamFactory(pending_receiver receiver); + BindStreamFactory(pending_receiver receiver); // Binds a DeviceNotifier interface receiver. BindDeviceNotifier(pending_receiver receiver); diff --git a/services/audio/service.cc b/services/audio/service.cc index 0b55f9c416b1c8..8366982e609b64 100644 --- a/services/audio/service.cc +++ b/services/audio/service.cc @@ -122,7 +122,7 @@ void Service::BindDebugRecording( } void Service::BindStreamFactory( - mojo::PendingReceiver receiver) { + mojo::PendingReceiver receiver) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); if (!stream_factory_) diff --git a/services/audio/service.h b/services/audio/service.h index 5c18eaef2c043c..99ab3026b0b912 100644 --- a/services/audio/service.h +++ b/services/audio/service.h @@ -12,12 +12,12 @@ #include "base/optional.h" #include "base/threading/thread_checker.h" #include "build/build_config.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "services/audio/public/mojom/audio_service.mojom.h" #include "services/audio/public/mojom/debug_recording.mojom.h" #include "services/audio/public/mojom/device_notifications.mojom.h" #include "services/audio/public/mojom/log_factory_manager.mojom.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" #include "services/audio/public/mojom/system_info.mojom.h" #include "services/audio/public/mojom/testing_api.mojom.h" #include "services/audio/stream_factory.h" @@ -89,8 +89,8 @@ class Service final : public mojom::AudioService { mojo::PendingReceiver receiver) override; void BindDebugRecording( mojo::PendingReceiver receiver) override; - void BindStreamFactory( - mojo::PendingReceiver receiver) override; + void BindStreamFactory(mojo::PendingReceiver + receiver) override; void BindDeviceNotifier( mojo::PendingReceiver receiver) override; void BindLogFactoryManager( diff --git a/services/audio/stream_factory.cc b/services/audio/stream_factory.cc index ff64baf61b7fd1..90190ab9c4f37d 100644 --- a/services/audio/stream_factory.cc +++ b/services/audio/stream_factory.cc @@ -29,7 +29,8 @@ StreamFactory::~StreamFactory() { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); } -void StreamFactory::Bind(mojo::PendingReceiver receiver) { +void StreamFactory::Bind( + mojo::PendingReceiver receiver) { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); receivers_.Add(this, std::move(receiver)); } @@ -112,7 +113,7 @@ void StreamFactory::CreateOutputStream( } void StreamFactory::BindMuter( - mojo::PendingAssociatedReceiver receiver, + mojo::PendingAssociatedReceiver receiver, const base::UnguessableToken& group_id) { DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_); TRACE_EVENT_NESTABLE_ASYNC_INSTANT1("audio", "BindMuter", this, "group id", diff --git a/services/audio/stream_factory.h b/services/audio/stream_factory.h index 747da1e447af9d..fccd05208b81af 100644 --- a/services/audio/stream_factory.h +++ b/services/audio/stream_factory.h @@ -18,9 +18,9 @@ #include "base/threading/thread.h" #include "media/mojo/mojom/audio_logging.mojom.h" #include "media/mojo/mojom/audio_output_stream.mojom.h" +#include "media/mojo/mojom/audio_stream_factory.mojom.h" #include "mojo/public/cpp/bindings/receiver_set.h" #include "services/audio/loopback_coordinator.h" -#include "services/audio/public/mojom/stream_factory.mojom.h" namespace base { class UnguessableToken; @@ -38,16 +38,16 @@ class LocalMuter; class LoopbackStream; class OutputStream; -// This class is used to provide the StreamFactory interface. It will typically -// be instantiated when needed and remain for the lifetime of the service. -// Destructing the factory will also destroy all the streams it has created. -// |audio_manager| must outlive the factory. -class StreamFactory final : public mojom::StreamFactory { +// This class is used to provide the AudioStreamFactory interface. It will +// typically be instantiated when needed and remain for the lifetime of the +// service. Destructing the factory will also destroy all the streams it has +// created. |audio_manager| must outlive the factory. +class StreamFactory final : public media::mojom::AudioStreamFactory { public: explicit StreamFactory(media::AudioManager* audio_manager); ~StreamFactory() final; - void Bind(mojo::PendingReceiver receiver); + void Bind(mojo::PendingReceiver receiver); // StreamFactory implementation. void CreateInputStream( @@ -75,8 +75,9 @@ class StreamFactory final : public mojom::StreamFactory { const media::AudioParameters& params, const base::UnguessableToken& group_id, CreateOutputStreamCallback created_callback) final; - void BindMuter(mojo::PendingAssociatedReceiver receiver, - const base::UnguessableToken& group_id) final; + void BindMuter( + mojo::PendingAssociatedReceiver receiver, + const base::UnguessableToken& group_id) final; void CreateLoopbackStream( mojo::PendingReceiver stream_receiver, mojo::PendingRemote client, @@ -101,7 +102,7 @@ class StreamFactory final : public mojom::StreamFactory { media::AudioManager* const audio_manager_; - mojo::ReceiverSet receivers_; + mojo::ReceiverSet receivers_; // Order of the following members is important for a clean shutdown. LoopbackCoordinator coordinator_;