sdl2_sink.h 753 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2016 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <cstddef>
  6. #include <memory>
  7. #include "audio_core/sink.h"
  8. namespace AudioCore {
  9. class SDL2Sink final : public Sink {
  10. public:
  11. SDL2Sink();
  12. ~SDL2Sink() override;
  13. unsigned int GetNativeSampleRate() const override;
  14. void EnqueueSamples(const s16* samples, size_t sample_count) override;
  15. size_t SamplesInQueue() const override;
  16. std::vector<std::string> GetDeviceList() const override;
  17. void SetDevice(int device_id) override;
  18. private:
  19. struct Impl;
  20. std::unique_ptr<Impl> impl;
  21. int device_id;
  22. std::vector<std::string> device_list;
  23. };
  24. } // namespace AudioCore