#include "services/audio/service.h"
#include <memory>
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/no_destructor.h"
#include "base/system/system_monitor.h"
#include "base/task/bind_post_task.h"
#include "base/task/deferred_sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/time/default_tick_clock.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
#include "media/audio/aecdump_recording_manager.h"
#include "media/audio/audio_manager.h"
#include "media/media_buildflags.h"
#include "services/audio/debug_recording.h"
#include "services/audio/device_notifier.h"
#include "services/audio/log_factory_manager.h"
#include "services/audio/system_info.h"
#if BUILDFLAG(IS_MAC)
#include "media/audio/mac/audio_device_listener_mac.h"
#endif
namespace audio {
Service::Service(std::unique_ptr<AudioManagerAccessor> audio_manager_accessor,
bool enable_remote_client_support,
mojo::PendingReceiver<mojom::AudioService> receiver)
: … { … }
Service::~Service() { … }
base::DeferredSequencedTaskRunner* Service::GetInProcessTaskRunner() { … }
void Service::SetSystemInfoBinderForTesting(SystemInfoBinder binder) { … }
void Service::SetTestingApiBinderForTesting(TestingApiBinder binder) { … }
void Service::BindSystemInfo(
mojo::PendingReceiver<mojom::SystemInfo> receiver) { … }
void Service::BindDebugRecording(
mojo::PendingReceiver<mojom::DebugRecording> receiver) { … }
void Service::BindStreamFactory(
mojo::PendingReceiver<media::mojom::AudioStreamFactory> receiver) { … }
void Service::BindDeviceNotifier(
mojo::PendingReceiver<mojom::DeviceNotifier> receiver) { … }
void Service::BindLogFactoryManager(
mojo::PendingReceiver<mojom::LogFactoryManager> receiver) { … }
void Service::BindTestingApi(
mojo::PendingReceiver<mojom::TestingApi> receiver) { … }
void Service::InitializeDeviceMonitor() { … }
}