19 #ifndef __libbackend_alsa_slave_h__
20 #define __libbackend_alsa_slave_h__
38 const char *play_name,
39 const char *capt_name,
40 unsigned int master_rate,
41 unsigned int master_samples_per_period,
42 unsigned int slave_rate,
43 unsigned int slave_samples_per_period,
44 unsigned int periods_per_cycle);
54 uint32_t
capt_chan (uint32_t chn,
float* dst, uint32_t n_samples);
55 uint32_t
play_chan (uint32_t chn,
float* src, uint32_t n_samples);
void cycle_start(double, double, bool)
std::atomic< int > _draining
ArdourZita::VResampler _src_play
PBD::RingBuffer< float > _rb_capture
PBD::Signal< void()> Halted
static void * _process_thread(void *)
uint32_t ncapt(void) const
uint64_t _samples_since_dll_reset
PBD::RingBuffer< float > _rb_playback
volatile double _slave_speed
virtual void update_latencies(uint32_t, uint32_t)=0
virtual ~AlsaAudioSlave()
uint32_t nplay(void) const
uint32_t play_chan(uint32_t chn, float *src, uint32_t n_samples)
uint32_t capt_chan(uint32_t chn, float *dst, uint32_t n_samples)
AlsaAudioSlave(const char *play_name, const char *capt_name, unsigned int master_rate, unsigned int master_samples_per_period, unsigned int slave_rate, unsigned int slave_samples_per_period, unsigned int periods_per_cycle)
size_t _samples_per_period
ArdourZita::VResampler _src_capt
static void reset_resampler(ArdourZita::VResampler &)
uint32_t nplay(void) const
uint32_t ncapt(void) const