CoreAudio: subscribe to device-alive property

This notifies the user about device disconnect and properly
shuts down the backend.
This commit is contained in:
Robin Gareus 2023-04-22 19:33:03 +02:00
parent 65c81feb5e
commit a7ca4cf8a1
4 changed files with 60 additions and 6 deletions

View file

@ -234,6 +234,7 @@ class CoreAudioBackend : public AudioBackend, public PortEngineSharedImpl {
// really private, but needing static access:
int process_callback(uint32_t, uint64_t);
void error_callback();
void halted_callback();
void xrun_callback();
void buffer_size_callback();
void sample_rate_callback();
@ -371,6 +372,8 @@ class CoreAudioBackend : public AudioBackend, public PortEngineSharedImpl {
enum DeviceFilter { All, Input, Output, Duplex };
uint32_t name_to_id(std::string, DeviceFilter filter = All) const;
void unset_callbacks ();
/* processing */
float _dsp_load;
ARDOUR::DSPLoadCalculator _dsp_load_calc;