#include "services/audio/owning_audio_manager_accessor.h"
#include <memory>
#include <utility>
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/time/default_tick_clock.h"
#include "base/time/time.h"
#include "media/audio/audio_features.h"
#include "media/audio/audio_manager.h"
#include "media/audio/audio_thread.h"
#include "media/audio/audio_thread_hang_monitor.h"
#include "services/audio/realtime_audio_thread.h"
HangAction;
namespace audio {
namespace {
constexpr base::TimeDelta kReatimeThreadPeriod = …;
HangAction GetAudioThreadHangAction() { … }
class MainThread final : public media::AudioThread { … };
MainThread::MainThread()
: … { … }
MainThread::~MainThread() { … }
void MainThread::Stop() { … }
bool MainThread::IsHung() const { … }
base::SingleThreadTaskRunner* MainThread::GetTaskRunner() { … }
base::SingleThreadTaskRunner* MainThread::GetWorkerTaskRunner() { … }
}
OwningAudioManagerAccessor::OwningAudioManagerAccessor(
AudioManagerFactoryCallback audio_manager_factory_cb)
: … { … }
OwningAudioManagerAccessor::~OwningAudioManagerAccessor() { … }
media::AudioManager* OwningAudioManagerAccessor::GetAudioManager() { … }
void OwningAudioManagerAccessor::SetAudioLogFactory(
media::AudioLogFactory* log_factory) { … }
void OwningAudioManagerAccessor::Shutdown() { … }
}