diff options
author | Robin Gareus <robin@gareus.org> | 2015-01-28 13:19:03 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-01-28 13:47:24 +0100 |
commit | cf8e7bc135d356c7cb77730ab289696d006924e6 (patch) | |
tree | 4a84d188042e2070e10727d8e9314522bee4d942 /libs/backends/alsa | |
parent | 397ce4ccc72c3618ec43f3edbd5f1f3189d35d2d (diff) |
ALSA-backend separate report for error and x-run
Diffstat (limited to 'libs/backends/alsa')
-rw-r--r-- | libs/backends/alsa/alsa_audiobackend.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.cc b/libs/backends/alsa/alsa_audiobackend.cc index dcf719e251..ade04b5c30 100644 --- a/libs/backends/alsa/alsa_audiobackend.cc +++ b/libs/backends/alsa/alsa_audiobackend.cc @@ -1420,10 +1420,18 @@ AlsaAudioBackend::main_process_thread () ++no_proc_errors; xrun = true; } - if (_pcmi->state () < 0 || no_proc_errors > bailout) { + if (_pcmi->state () < 0) { PBD::error << _("AlsaAudioBackend: I/O error. Audio Process Terminated.") << endmsg; break; } + if (no_proc_errors > bailout) { + PBD::error + << string_compose ( + _("AlsaAudioBackend: Audio Process Terminated after %1 consecutive x-runs."), + no_proc_errors) + << endmsg; + break; + } while (nr >= (long)_samples_per_period && _freewheeling == _freewheel) { uint32_t i = 0; @@ -1501,7 +1509,7 @@ AlsaAudioBackend::main_process_thread () if (xrun && (_pcmi->capt_xrun() > 0 || _pcmi->play_xrun() > 0)) { engine.Xrun (); #if 0 - fprintf(stderr, "ALSA x-run read: %.1f ms, write: %.1f ms\n", + fprintf(stderr, "ALSA x-run read: %.2f ms, write: %.2f ms\n", _pcmi->capt_xrun() * 1000.0, _pcmi->play_xrun() * 1000.0); #endif } |