Commit 633aa41b authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert AudioProcessorControls to new Mojo types

This CL converts AudioProcessorControls{Ptr, Request} in content to
the new Mojo types.

Bug: 955171
Change-Id: I4c5f0a4f08e6d0f92750811dbd40a90cf6f0f622
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1786362Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#694694}
parent ee4404fd
......@@ -14,6 +14,7 @@
#include "content/common/media/renderer_audio_input_stream_factory.mojom.h"
#include "content/renderer/media/audio/mojo_audio_input_ipc.h"
#include "content/renderer/render_frame_impl.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/audio/public/mojom/audio_processing.mojom.h"
#include "services/service_manager/public/cpp/interface_provider.h"
......@@ -25,7 +26,8 @@ void CreateMojoAudioInputStreamOnMainThread(
int frame_id,
const media::AudioSourceParameters& source_params,
mojom::RendererAudioInputStreamFactoryClientPtr client,
audio::mojom::AudioProcessorControlsRequest controls_request,
mojo::PendingReceiver<audio::mojom::AudioProcessorControls>
controls_receiver,
const media::AudioParameters& params,
bool automatic_gain_control,
uint32_t total_segments) {
......@@ -34,7 +36,7 @@ void CreateMojoAudioInputStreamOnMainThread(
audio::mojom::AudioProcessingConfigPtr processing_config;
if (source_params.processing) {
processing_config = audio::mojom::AudioProcessingConfig::New(
std::move(controls_request), source_params.processing->id,
std::move(controls_receiver), source_params.processing->id,
source_params.processing->settings);
}
frame->GetAudioInputStreamFactory()->CreateStream(
......@@ -48,14 +50,15 @@ void CreateMojoAudioInputStream(
int frame_id,
const media::AudioSourceParameters& source_params,
mojom::RendererAudioInputStreamFactoryClientPtr client,
audio::mojom::AudioProcessorControlsRequest controls_request,
mojo::PendingReceiver<audio::mojom::AudioProcessorControls>
controls_receiver,
const media::AudioParameters& params,
bool automatic_gain_control,
uint32_t total_segments) {
main_task_runner->PostTask(
FROM_HERE, base::BindOnce(&CreateMojoAudioInputStreamOnMainThread,
frame_id, source_params, std::move(client),
std::move(controls_request), params,
std::move(controls_receiver), params,
automatic_gain_control, total_segments));
}
......
......@@ -47,11 +47,11 @@ void MojoAudioInputIPC::CreateStream(media::AudioInputIPCDelegate* delegate,
&media::AudioInputIPCDelegate::OnError, base::Unretained(delegate_)));
stream_creation_start_time_ = base::TimeTicks::Now();
audio::mojom::AudioProcessorControlsRequest controls_request;
mojo::PendingReceiver<audio::mojom::AudioProcessorControls> controls_receiver;
if (source_params_.processing.has_value())
controls_request = mojo::MakeRequest(&processor_controls_);
controls_receiver = processor_controls_.BindNewPipeAndPassReceiver();
stream_creator_.Run(source_params_, std::move(client),
std::move(controls_request), params,
std::move(controls_receiver), params,
automatic_gain_control, total_segments);
}
......
......@@ -19,6 +19,8 @@
#include "media/mojo/mojom/audio_input_stream.mojom.h"
#include "media/webrtc/audio_processor_controls.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/audio/public/mojom/audio_processing.mojom.h"
namespace content {
......@@ -38,7 +40,8 @@ class CONTENT_EXPORT MojoAudioInputIPC
using StreamCreatorCB = base::RepeatingCallback<void(
const media::AudioSourceParameters& source_params,
mojom::RendererAudioInputStreamFactoryClientPtr client,
audio::mojom::AudioProcessorControlsRequest controls_request,
mojo::PendingReceiver<audio::mojom::AudioProcessorControls>
controls_receiver,
const media::AudioParameters& params,
bool automatic_gain_control,
uint32_t total_segments)>;
......@@ -87,7 +90,7 @@ class CONTENT_EXPORT MojoAudioInputIPC
StreamAssociatorCB stream_associator_;
media::mojom::AudioInputStreamPtr stream_;
audio::mojom::AudioProcessorControlsPtr processor_controls_;
mojo::Remote<audio::mojom::AudioProcessorControls> processor_controls_;
// Initialized on StreamCreated.
base::Optional<base::UnguessableToken> stream_id_;
mojo::Binding<AudioInputStreamClient> stream_client_binding_;
......
......@@ -18,6 +18,7 @@
#include "media/base/audio_parameters.h"
#include "media/mojo/mojom/audio_data_pipe.mojom.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/system/buffer.h"
#include "mojo/public/cpp/system/platform_handle.h"
#include "testing/gmock/include/gmock/gmock.h"
......@@ -80,7 +81,8 @@ class FakeStreamCreator {
void Create(const media::AudioSourceParameters& source_params,
mojom::RendererAudioInputStreamFactoryClientPtr factory_client,
audio::mojom::AudioProcessorControlsRequest controls_request,
mojo::PendingReceiver<audio::mojom::AudioProcessorControls>
controls_receiver,
const media::AudioParameters& params,
bool automatic_gain_control,
uint32_t total_segments) {
......@@ -166,7 +168,8 @@ TEST(MojoAudioInputIPC, FactoryDisconnected_SendsError) {
base::BindRepeating(
[](const media::AudioSourceParameters&,
mojom::RendererAudioInputStreamFactoryClientPtr factory_client,
audio::mojom::AudioProcessorControlsRequest controls_request,
mojo::PendingReceiver<audio::mojom::AudioProcessorControls>
controls_receiver,
const media::AudioParameters& params,
bool automatic_gain_control, uint32_t total_segments) {}),
base::BindRepeating(&AssociateOutputForAec));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment