aplay: log pcm status before reporting a fatal error

When the --fatal-errors happen, nothing is provided to the user even
when the '-v' verbose option is specified. This patch adds the fatal
error exit after dumping the logs. No functionality change, just
better information on what just happened.

Closes: https://github.com/alsa-project/alsa-utils/pull/242
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Pierre-Louis Bossart 2023-10-27 15:05:06 -05:00 committed by Jaroslav Kysela
parent 8e6351f19d
commit 6e9be2a3f3

View file

@ -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);