diff options
author | bunnei <bunneidev@gmail.com> | 2018-07-28 19:44:50 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-07-31 03:45:24 +0200 |
commit | f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf (patch) | |
tree | e5224d2e6b57c5ac0aec46377d6bfae9072ab820 /src/audio_core/cubeb_sink.h | |
parent | audio_core: Add interfaces for Sink and SinkStream. (diff) | |
download | yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar.gz yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar.bz2 yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar.lz yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar.xz yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.tar.zst yuzu-f437c11caf2c1afc0b7d0fdb808be10d7b1adfcf.zip |
Diffstat (limited to 'src/audio_core/cubeb_sink.h')
-rw-r--r-- | src/audio_core/cubeb_sink.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/audio_core/cubeb_sink.h b/src/audio_core/cubeb_sink.h new file mode 100644 index 000000000..d07113f1f --- /dev/null +++ b/src/audio_core/cubeb_sink.h @@ -0,0 +1,31 @@ +// Copyright 2018 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <string> +#include <vector> + +#include <cubeb/cubeb.h> + +#include "audio_core/sink.h" + +namespace AudioCore { + +class CubebSink final : public Sink { +public: + explicit CubebSink(std::string device_id); + ~CubebSink() override; + + SinkStream& AcquireSinkStream(u32 sample_rate, u32 num_channels) override; + +private: + cubeb* ctx{}; + cubeb_devid output_device{}; + std::vector<SinkStreamPtr> sink_streams; +}; + +std::vector<std::string> ListCubebSinkDevices(); + +} // namespace AudioCore |