Duckstation/src/frontend-common/sdl_audio_stream.h

25 lines
534 B
C
Raw Normal View History

2019-10-10 16:20:10 +00:00
#pragma once
#include "common/audio_stream.h"
#include <cstdint>
class SDLAudioStream final : public AudioStream
{
public:
SDLAudioStream();
~SDLAudioStream();
static std::unique_ptr<SDLAudioStream> Create();
2019-10-10 16:20:10 +00:00
protected:
ALWAYS_INLINE bool IsOpen() const { return (m_device_id != 0); }
2019-10-10 16:20:10 +00:00
bool OpenDevice() override;
void PauseDevice(bool paused) override;
void CloseDevice() override;
void FramesAvailable() override;
2019-10-10 16:20:10 +00:00
static void AudioCallback(void* userdata, uint8_t* stream, int len);
u32 m_device_id = 0;
2019-10-10 16:20:10 +00:00
};