4#define ALSA_PCM_NEW_HW_PARAMS_API
5#define ALSA_PCM_NEW_SW_PARAMS_API
6#include <alsa/asoundlib.h>
27 void WriteAudio(
unsigned char *aubuf,
int size)
override;
38 static QByteArray *
GetELD(
int card,
int device,
int subdevice);
55 snd_mixer_elem_t*
elem {
nullptr };
int SetParameters(snd_pcm_t *handle, snd_pcm_format_t format, uint channels, uint rate, uint buffer_time, uint period_time)
Set the various ALSA audio parameters.
int TryOpenDevice(int open_mode, bool try_ac3)
struct AudioOutputALSA::@7 m_mixer
static QMap< QString, QString > * GetDevices(const char *type)
bool OpenDevice(void) override
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
bool IncPreallocBufferSize(int requested, int buffer_time)
void CloseDevice(void) override
~AudioOutputALSA() override
int GetVolumeChannel(int channel) const override
AudioOutputALSA(const AudioSettings &settings)
int GetPCMInfo(int &card, int &device, int &subdevice)
void WriteAudio(unsigned char *aubuf, int size) override
AudioOutputSettings * GetOutputSettings(bool passthrough) override
static QByteArray * GetELD(int card, int device, int subdevice)
void SetVolumeChannel(int channel, int volume) override
const int & channels() const