diff options
Diffstat (limited to 'Source/Core/AudioCommon/CubebStream.h')
| -rw-r--r-- | Source/Core/AudioCommon/CubebStream.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.h b/Source/Core/AudioCommon/CubebStream.h index 1c95fd50d8..4bc0070e88 100644 --- a/Source/Core/AudioCommon/CubebStream.h +++ b/Source/Core/AudioCommon/CubebStream.h @@ -16,6 +16,8 @@ #include <cubeb/cubeb.h> #endif +#include "Core/Config/MainSettings.h" + class CubebStream final : public SoundStream { #ifdef HAVE_CUBEB @@ -38,11 +40,19 @@ private: std::size_t wiimote_index; }; + struct GBAStreamData + { + CubebStream* self; + std::size_t gba_index; + }; + bool m_stereo = false; std::shared_ptr<cubeb> m_ctx; cubeb_stream* m_stream = nullptr; std::array<WiimoteStreamData, 4> m_wiimote_stream_data{}; std::array<cubeb_stream*, 4> m_wiimote_streams{}; + std::array<GBAStreamData, Config::GBA_SPEAKER_COUNT> m_gba_stream_data{}; + std::array<cubeb_stream*, Config::GBA_SPEAKER_COUNT> m_gba_streams{}; std::vector<short> m_short_buffer; std::vector<float> m_floatstereo_buffer; @@ -60,5 +70,8 @@ private: const void* /*input_buffer*/, void* output_buffer, long num_frames); static void WiimoteStateCallback(cubeb_stream* stream, void* user_data, cubeb_state state); + static long GBADataCallback(cubeb_stream* stream, void* user_data, const void* /*input_buffer*/, + void* output_buffer, long num_frames); + static void GBAStateCallback(cubeb_stream* stream, void* user_data, cubeb_state state); #endif }; |
