// Copyright 2018 yuzu Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include "audio_core/sink.h" namespace AudioCore { class CubebSink final : public Sink { public: explicit CubebSink(std::string_view device_id); ~CubebSink() override; SinkStream& AcquireSinkStream(u32 sample_rate, u32 num_channels, const std::string& name) override; private: cubeb* ctx{}; cubeb_devid output_device{}; std::vector sink_streams; #ifdef _WIN32 u32 com_init_result = 0; #endif }; std::vector ListCubebSinkDevices(); } // namespace AudioCore