5#include <QCoreApplication>
8#include <jack/statistics.h>
36 void WriteAudio(
unsigned char *aubuf,
int size)
override;
static constexpr int8_t JACK_CHANNELS_MIN
maximum number of channels supported, avoids lots of mallocs
std::array< int, JACK_CHANNELS_MAX > jack_vol_array
static constexpr int8_t JACK_CHANNELS_MAX
std::array< jack_port_t *, JACK_CHANNELS_MAX > jack_port_array
static int JackXRunCallbackHelper(void *arg)
Q_DECLARE_TR_FUNCTIONS(AudioOutputJACK)
void CloseDevice(void) override
void JackClientClose(jack_client_t **client)
static int JackCallbackHelper(jack_nframes_t nframes, void *arg)
const char ** JackGetPorts(void)
void StopOutputThread(void) override
void SetVolumeChannel(int channel, int volume) override
static int JackGraphOrderCallbackHelper(void *arg)
int JackCallback(jack_nframes_t nframes)
jack_vol_array m_chanVolumes
AudioOutputJACK(const AudioSettings &settings)
AudioOutputSettings * GetOutputSettings(bool digital) override
~AudioOutputJACK() override
jack_client_t * m_staleClient
static jack_client_t * JackClientOpen(void)
void DeinterleaveAudio(const float *aubuf, float **bufs, int nframes, const jack_vol_array &channel_volumes)
void WriteAudio(unsigned char *aubuf, int size) override
int JackGraphOrderCallback()
bool OpenDevice(void) override
bool JackConnectPorts(const char **)
int GetVolumeChannel(int channel) const 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 StartOutputThread(void) override