summaryrefslogtreecommitdiff
path: root/src/audio_core/audio_out.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_core/audio_out.h')
-rw-r--r--src/audio_core/audio_out.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/audio_core/audio_out.h b/src/audio_core/audio_out.h
deleted file mode 100644
index 6856373f1..000000000
--- a/src/audio_core/audio_out.h
+++ /dev/null
@@ -1,49 +0,0 @@
1// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6#include <memory>
7#include <string>
8#include <vector>
9
10#include "audio_core/buffer.h"
11#include "audio_core/sink.h"
12#include "audio_core/stream.h"
13#include "common/common_types.h"
14
15namespace Core::Timing {
16class CoreTiming;
17}
18
19namespace AudioCore {
20
21/**
22 * Represents an audio playback interface, used to open and play audio streams
23 */
24class AudioOut {
25public:
26 /// Opens a new audio stream
27 StreamPtr OpenStream(Core::Timing::CoreTiming& core_timing, u32 sample_rate, u32 num_channels,
28 std::string&& name, Stream::ReleaseCallback&& release_callback);
29
30 /// Returns a vector of recently released buffers specified by tag for the specified stream
31 std::vector<Buffer::Tag> GetTagsAndReleaseBuffers(StreamPtr stream, std::size_t max_count);
32
33 /// Returns a vector of all recently released buffers specified by tag for the specified stream
34 std::vector<Buffer::Tag> GetTagsAndReleaseBuffers(StreamPtr stream);
35
36 /// Starts an audio stream for playback
37 void StartStream(StreamPtr stream);
38
39 /// Stops an audio stream that is currently playing
40 void StopStream(StreamPtr stream);
41
42 /// Queues a buffer into the specified audio stream, returns true on success
43 bool QueueBuffer(StreamPtr stream, Buffer::Tag tag, std::vector<s16>&& data);
44
45private:
46 SinkPtr sink;
47};
48
49} // namespace AudioCore