ALSA backend: engine.halted_callback if the process thread dies
authorRobin Gareus <robin@gareus.org>
Wed, 4 Jun 2014 15:04:25 +0000 (17:04 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 4 Jun 2014 15:17:15 +0000 (17:17 +0200)
libs/backends/alsa/alsa_audiobackend.cc

index e9dc8c339b1e475154628052c4bc3480d402bcdf..fb9c128e71eee69be4679404588703fd353d921c 100644 (file)
@@ -1340,6 +1340,7 @@ AlsaAudioBackend::main_process_thread ()
 
                                if (engine.process_callback (_samples_per_period)) {
                                        _pcmi->pcm_stop ();
+                                       _active = false;
                                        return 0;
                                }
 
@@ -1412,6 +1413,9 @@ AlsaAudioBackend::main_process_thread ()
        }
        _pcmi->pcm_stop ();
        _active = false;
+       if (_run) {
+               engine.halted_callback("ALSA I/O error.");
+       }
        return 0;
 }