#include "third_party/blink/renderer/modules/media/audio/mojo_audio_input_ipc.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/metrics/histogram_macros.h"
#include "media/audio/audio_device_description.h"
#include "media/mojo/common/input_error_code_converter.h"
#include "media/mojo/mojom/audio_data_pipe.mojom-blink.h"
#include "mojo/public/cpp/system/platform_handle.h"
namespace blink {
MojoAudioInputIPC::MojoAudioInputIPC(
const media::AudioSourceParameters& source_params,
StreamCreatorCB stream_creator,
StreamAssociatorCB stream_associator)
: … { … }
MojoAudioInputIPC::~MojoAudioInputIPC() = default;
void MojoAudioInputIPC::CreateStream(media::AudioInputIPCDelegate* delegate,
const media::AudioParameters& params,
bool automatic_gain_control,
uint32_t total_segments) { … }
void MojoAudioInputIPC::RecordStream() { … }
void MojoAudioInputIPC::SetVolume(double volume) { … }
void MojoAudioInputIPC::SetOutputDeviceForAec(
const std::string& output_device_id) { … }
media::AudioProcessorControls* MojoAudioInputIPC::GetProcessorControls() { … }
void MojoAudioInputIPC::CloseStream() { … }
void MojoAudioInputIPC::GetStats(GetStatsCB callback) { … }
void MojoAudioInputIPC::SetPreferredNumCaptureChannels(
int32_t num_preferred_channels) { … }
void MojoAudioInputIPC::StreamCreated(
mojo::PendingRemote<media::mojom::blink::AudioInputStream> stream,
mojo::PendingReceiver<media::mojom::blink::AudioInputStreamClient>
stream_client_receiver,
media::mojom::blink::ReadOnlyAudioDataPipePtr data_pipe,
bool initially_muted,
const std::optional<base::UnguessableToken>& stream_id) { … }
void MojoAudioInputIPC::OnDisconnect(uint32_t error,
const std::string& reason) { … }
void MojoAudioInputIPC::OnError(media::mojom::InputStreamErrorCode code) { … }
void MojoAudioInputIPC::OnMutedStateChanged(bool is_muted) { … }
}