41 std::vector<jack_port_t*> out_ports_;
42 std::vector<jack_port_t*> in_ports_;
43 std::vector<jack_ringbuffer_t*> out_ringbuffers_;
44 std::vector<jack_ringbuffer_t*> in_ringbuffers_;
45 std::thread ringbuffer_thread_;
46 std::mutex ringbuffer_thread_mutex_;
47 std::condition_variable data_ready_;
52 void ringbuffer_worker();
56 std::unique_ptr<AudioFrame> read();
60 std::vector<std::string> getCaptureDeviceList()
const;
61 std::vector<std::string> getPlaybackDeviceList()
const;
63 int getAudioDeviceIndex(
const std::string& name,
AudioDeviceType type)
const;
65 int getIndexCapture()
const;
66 int getIndexPlayback()
const;
67 int getIndexRingtone()
const;
80 static void onShutdown(
void* data);