Go to the documentation of this file. 1 #ifndef AUDIOOUTPUTALSA
2 #define AUDIOOUTPUTALSA
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 };
void WriteAudio(unsigned char *aubuf, int size) override
~AudioOutputALSA() override
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.
AudioOutputSettings * GetOutputSettings(bool passthrough) override
void CloseDevice(void) override
int GetPCMInfo(int &card, int &device, int &subdevice)
bool OpenDevice(void) override
static QMap< QString, QString > * GetDevices(const char *type)
bool IncPreallocBufferSize(int requested, int buffer_time)
struct AudioOutputALSA::@0 m_mixer
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
void SetVolumeChannel(int channel, int volume) override
int TryOpenDevice(int open_mode, bool try_ac3)
AudioOutputALSA(const AudioSettings &settings)
int GetVolumeChannel(int channel) const override
static QByteArray * GetELD(int card, int device, int subdevice)