#include "content/browser/media/audio_output_stream_broker.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/metrics/histogram_macros.h"
#include "base/trace_event/trace_event.h"
#include "content/browser/media/audio_stream_broker_helper.h"
#include "content/browser/media/media_internals.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/media_observer.h"
#include "content/public/common/content_client.h"
#include "media/audio/audio_logging.h"
#include "media/mojo/mojom/audio_data_pipe.mojom.h"
namespace content {
namespace {
enum class StreamBrokerDisconnectReason { … };
DisconnectReason;
StreamBrokerDisconnectReason GetDisconnectReason(DisconnectReason reason,
bool awaiting_created) { … }
}
AudioOutputStreamBroker::AudioOutputStreamBroker(
int render_process_id,
int render_frame_id,
int stream_id,
const std::string& output_device_id,
const media::AudioParameters& params,
const base::UnguessableToken& group_id,
DeleterCallback deleter,
mojo::PendingRemote<media::mojom::AudioOutputStreamProviderClient> client)
: … { … }
AudioOutputStreamBroker::~AudioOutputStreamBroker() { … }
void AudioOutputStreamBroker::CreateStream(
media::mojom::AudioStreamFactory* factory) { … }
void AudioOutputStreamBroker::StreamCreated(
mojo::PendingRemote<media::mojom::AudioOutputStream> stream,
media::mojom::ReadWriteAudioDataPipePtr data_pipe) { … }
void AudioOutputStreamBroker::ObserverBindingLost(
uint32_t reason,
const std::string& description) { … }
void AudioOutputStreamBroker::Cleanup(DisconnectReason reason) { … }
bool AudioOutputStreamBroker::AwaitingCreated() const { … }
}