Return meaningful error codes when PortaudioBackend fails to start
authorTim Mayberry <mojofunk@gmail.com>
Sat, 26 Sep 2015 22:53:19 +0000 (08:53 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Wed, 30 Sep 2015 23:10:19 +0000 (09:10 +1000)
So they can be used to give a contextual error message in the GUI

libs/backends/portaudio/portaudio_backend.cc

index b1c83349ae1b46915ef5edc44cf9c61a61cbd44f..3c8a238d712fb58e373c3f271eb1bb2a2ad328ac 100644 (file)
@@ -480,8 +480,14 @@ PortAudioBackend::_start (bool for_latency_measurement)
        switch (err) {
        case paNoError:
                break;
+       case paBadIODeviceCombination:
+               return DeviceConfigurationNotSupportedError;
+       case paInvalidChannelCount:
+               return ChannelCountNotSupportedError;
+       case paInvalidSampleRate:
+               return SampleRateNotSupportedError;
        default:
-               return -1;
+               return AudioDeviceOpenError;
        }
 
        if (_n_outputs != _pcmio->n_playback_channels ()) {