2020-04-19 23:04:05 +02:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
2020-03-27 20:36:02 +01:00
|
|
|
// Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/)
|
|
|
|
|
2020-01-02 21:19:34 +01:00
|
|
|
#pragma once
|
|
|
|
|
2023-03-15 18:49:17 +01:00
|
|
|
#include <audio_core/core/core.h>
|
|
|
|
#include <common.h>
|
|
|
|
|
|
|
|
namespace AudioCore::AudioOut {
|
|
|
|
class Manager;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace AudioCore::AudioRenderer {
|
|
|
|
class Manager;
|
|
|
|
}
|
2020-01-02 21:19:34 +01:00
|
|
|
|
|
|
|
namespace skyline::audio {
|
|
|
|
/**
|
2023-03-15 18:49:17 +01:00
|
|
|
* @brief The Audio class is used to bridge yuzu's audio core with services
|
2020-01-02 21:19:34 +01:00
|
|
|
*/
|
2023-03-15 18:49:17 +01:00
|
|
|
class Audio {
|
2020-01-02 21:19:34 +01:00
|
|
|
public:
|
2023-03-15 18:49:17 +01:00
|
|
|
Core::System audioSystem{};
|
|
|
|
std::unique_ptr<AudioCore::AudioOut::Manager> audioOutManager;
|
|
|
|
std::unique_ptr<AudioCore::AudioRenderer::Manager> audioRendererManager;
|
|
|
|
|
2020-01-02 21:19:34 +01:00
|
|
|
Audio(const DeviceState &state);
|
|
|
|
|
2020-11-03 10:44:09 +01:00
|
|
|
~Audio();
|
|
|
|
|
2023-03-15 18:49:17 +01:00
|
|
|
void Pause();
|
|
|
|
|
|
|
|
void Resume();
|
2020-01-02 21:19:34 +01:00
|
|
|
};
|
|
|
|
}
|