2018-12-21 03:13:22 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#ifdef HAVE_ALSA
|
|
|
|
|
|
|
|
|
|
#include "Emu/Audio/AudioBackend.h"
|
|
|
|
|
|
|
|
|
|
#include <alsa/asoundlib.h>
|
|
|
|
|
|
|
|
|
|
class ALSABackend : public AudioBackend
|
|
|
|
|
{
|
2019-01-09 23:19:05 +01:00
|
|
|
snd_pcm_t* tls_handle{nullptr};
|
|
|
|
|
snd_pcm_hw_params_t* tls_hw_params{nullptr};
|
|
|
|
|
snd_pcm_sw_params_t* tls_sw_params{nullptr};
|
2018-12-21 03:13:22 +01:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
ALSABackend();
|
|
|
|
|
virtual ~ALSABackend() override;
|
|
|
|
|
|
2019-05-11 10:14:56 +02:00
|
|
|
virtual const char* GetName() const override { return "ALSA"; }
|
2018-12-21 03:13:22 +01:00
|
|
|
|
|
|
|
|
static const u32 capabilities = 0;
|
2019-05-11 10:14:56 +02:00
|
|
|
virtual u32 GetCapabilities() const override { return capabilities; }
|
2018-12-21 03:13:22 +01:00
|
|
|
|
|
|
|
|
virtual void Open(u32) override;
|
|
|
|
|
virtual void Close() override;
|
|
|
|
|
|
|
|
|
|
virtual bool AddData(const void* src, u32 num_samples) override;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|