summaryrefslogtreecommitdiff
path: root/src/audio_core/audio_out.cpp
diff options
context:
space:
mode:
authorGravatar Kelebek12022-07-16 23:48:45 +0100
committerGravatar Kelebek12022-07-22 01:11:32 +0100
commit458da8a94877677f086f06cdeecf959ec4283a33 (patch)
tree583166d77602ad90a0d552f37de8729ad80fd6c1 /src/audio_core/audio_out.cpp
parentMerge pull request #8598 from Link4565/recv-dontwait (diff)
downloadyuzu-458da8a94877677f086f06cdeecf959ec4283a33.tar.gz
yuzu-458da8a94877677f086f06cdeecf959ec4283a33.tar.xz
yuzu-458da8a94877677f086f06cdeecf959ec4283a33.zip
Project Andio
Diffstat (limited to 'src/audio_core/audio_out.cpp')
-rw-r--r--src/audio_core/audio_out.cpp62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/audio_core/audio_out.cpp b/src/audio_core/audio_out.cpp
deleted file mode 100644
index 83ec0221f..000000000
--- a/src/audio_core/audio_out.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
1// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include "audio_core/audio_out.h"
5#include "audio_core/sink.h"
6#include "audio_core/sink_details.h"
7#include "common/assert.h"
8#include "common/logging/log.h"
9#include "common/settings.h"
10
11namespace AudioCore {
12
13/// Returns the stream format from the specified number of channels
14static Stream::Format ChannelsToStreamFormat(u32 num_channels) {
15 switch (num_channels) {
16 case 1:
17 return Stream::Format::Mono16;
18 case 2:
19 return Stream::Format::Stereo16;
20 case 6:
21 return Stream::Format::Multi51Channel16;
22 }
23
24 UNIMPLEMENTED_MSG("Unimplemented num_channels={}", num_channels);
25 return {};
26}
27
28StreamPtr AudioOut::OpenStream(Core::Timing::CoreTiming& core_timing, u32 sample_rate,
29 u32 num_channels, std::string&& name,
30 Stream::ReleaseCallback&& release_callback) {
31 if (!sink) {
32 sink = CreateSinkFromID(Settings::values.sink_id.GetValue(),
33 Settings::values.audio_device_id.GetValue());
34 }
35
36 return std::make_shared<Stream>(
37 core_timing, sample_rate, ChannelsToStreamFormat(num_channels), std::move(release_callback),
38 sink->AcquireSinkStream(sample_rate, num_channels, name), std::move(name));
39}
40
41std::vector<Buffer::Tag> AudioOut::GetTagsAndReleaseBuffers(StreamPtr stream,
42 std::size_t max_count) {
43 return stream->GetTagsAndReleaseBuffers(max_count);
44}
45
46std::vector<Buffer::Tag> AudioOut::GetTagsAndReleaseBuffers(StreamPtr stream) {
47 return stream->GetTagsAndReleaseBuffers();
48}
49
50void AudioOut::StartStream(StreamPtr stream) {
51 stream->Play();
52}
53
54void AudioOut::StopStream(StreamPtr stream) {
55 stream->Stop();
56}
57
58bool AudioOut::QueueBuffer(StreamPtr stream, Buffer::Tag tag, std::vector<s16>&& data) {
59 return stream->QueueBuffer(std::make_shared<Buffer>(tag, std::move(data)));
60}
61
62} // namespace AudioCore