diff --git a/aplay/aplay.c b/aplay/aplay.c index fc4bac6..ed58a1e 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -1677,12 +1677,6 @@ static void xrun(void) prg_exit(EXIT_FAILURE); } if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN) { - if (fatal_errors) { - error(_("fatal %s: %s"), - stream == SND_PCM_STREAM_PLAYBACK ? _("underrun") : _("overrun"), - snd_strerror(res)); - prg_exit(EXIT_FAILURE); - } if (monotonic) { #ifdef HAVE_CLOCK_GETTIME struct timespec now, diff, tstamp; @@ -1708,6 +1702,12 @@ static void xrun(void) fprintf(stderr, _("Status:\n")); snd_pcm_status_dump(status, log); } + if (fatal_errors) { + error(_("fatal %s: %s"), + stream == SND_PCM_STREAM_PLAYBACK ? _("underrun") : _("overrun"), + snd_strerror(res)); + prg_exit(EXIT_FAILURE); + } if ((res = snd_pcm_prepare(handle))<0) { error(_("xrun: prepare error: %s"), snd_strerror(res)); prg_exit(EXIT_FAILURE);