Commit f505a263 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert AudioInputStreamObserver to new Mojo types

This CL converts AudioInputStreamObserverPtr and Binding<T> in
content to the new Mojo type.

Bug: 955171
Change-Id: I8dae882be3afbe37ed2a4ff25e6c876b42ac2b60
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1866749
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709504}
parent 9c48d23a
......@@ -94,7 +94,7 @@ class MockStreamFactory : public audio::FakeStreamFactory {
bool requested = false;
mojo::PendingReceiver<media::mojom::AudioInputStream> stream_receiver;
mojo::Remote<media::mojom::AudioInputStreamClient> client;
media::mojom::AudioInputStreamObserverPtr observer;
mojo::Remote<media::mojom::AudioInputStreamObserver> observer;
mojo::Remote<media::mojom::AudioLog> log;
const std::string device_id;
const media::AudioParameters params;
......
......@@ -32,8 +32,7 @@ AudioLoopbackStreamBroker::AudioLoopbackStreamBroker(
params_(params),
shared_memory_count_(shared_memory_count),
deleter_(std::move(deleter)),
renderer_factory_client_(std::move(renderer_factory_client)),
observer_binding_(this) {
renderer_factory_client_(std::move(renderer_factory_client)) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(source_);
DCHECK(renderer_factory_client_);
......@@ -65,7 +64,7 @@ AudioLoopbackStreamBroker::~AudioLoopbackStreamBroker() {
void AudioLoopbackStreamBroker::CreateStream(
audio::mojom::StreamFactory* factory) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(!observer_binding_.is_bound());
DCHECK(!observer_receiver_.is_bound());
DCHECK(!client_receiver_);
DCHECK(source_);
......@@ -79,19 +78,16 @@ void AudioLoopbackStreamBroker::CreateStream(
mojo::PendingReceiver<media::mojom::AudioInputStream> stream_receiver =
stream.InitWithNewPipeAndPassReceiver();
media::mojom::AudioInputStreamObserverPtr observer_ptr;
observer_binding_.Bind(mojo::MakeRequest(&observer_ptr));
// Unretained is safe because |this| owns |observer_binding_|.
observer_binding_.set_connection_error_handler(base::BindOnce(
&AudioLoopbackStreamBroker::Cleanup, base::Unretained(this)));
factory->CreateLoopbackStream(
std::move(stream_receiver), std::move(client),
observer_ptr.PassInterface(), params_, shared_memory_count_,
source_->GetGroupID(),
observer_receiver_.BindNewPipeAndPassRemote(), params_,
shared_memory_count_, source_->GetGroupID(),
base::BindOnce(&AudioLoopbackStreamBroker::StreamCreated,
weak_ptr_factory_.GetWeakPtr(), std::move(stream)));
// Unretained is safe because |this| owns |observer_receiver_|.
observer_receiver_.set_disconnect_handler(base::BindOnce(
&AudioLoopbackStreamBroker::Cleanup, base::Unretained(this)));
}
void AudioLoopbackStreamBroker::OnSourceGone() {
......
......@@ -17,9 +17,9 @@
#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 "mojo/public/cpp/bindings/binding.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"
namespace audio {
......@@ -78,7 +78,7 @@ class CONTENT_EXPORT AudioLoopbackStreamBroker final
mojo::Remote<mojom::RendererAudioInputStreamFactoryClient>
renderer_factory_client_;
mojo::Binding<AudioInputStreamObserver> observer_binding_;
mojo::Receiver<AudioInputStreamObserver> observer_receiver_{this};
mojo::PendingReceiver<media::mojom::AudioInputStreamClient> client_receiver_;
base::WeakPtrFactory<AudioLoopbackStreamBroker> weak_ptr_factory_{this};
......
......@@ -109,7 +109,7 @@ class MockStreamFactory : public audio::FakeStreamFactory {
bool requested = false;
mojo::PendingReceiver<media::mojom::AudioInputStream> stream_receiver;
mojo::Remote<media::mojom::AudioInputStreamClient> client;
media::mojom::AudioInputStreamObserverPtr observer;
mojo::Remote<media::mojom::AudioInputStreamObserver> observer;
const media::AudioParameters params;
uint32_t shared_memory_count;
base::UnguessableToken group_id;
......
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