From f35b66d8f1c5e3c551981723ed242e48c62ad97f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 14 Jun 2021 12:02:35 +0200 Subject: [PATCH] Revert "aplay: try to use 16-bit format to increase capture quality" This reverts commit 0c5948e98a6a8535c89b7bcab13017d7732181c6. Link: https://github.com/alsa-project/alsa-utils/issues/96 Signed-off-by: Jaroslav Kysela --- aplay/aplay.c | 43 +++++++++---------------------------------- 1 file changed, 9 insertions(+), 34 deletions(-) diff --git a/aplay/aplay.c b/aplay/aplay.c index 0b7884e..d89b7df 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -95,7 +94,6 @@ enum { VUMETER_STEREO }; -static snd_pcm_format_t default_format = DEFAULT_FORMAT; static char *command; static snd_pcm_t *handle; static struct { @@ -470,24 +468,6 @@ static long parse_long(const char *str, int *err) return val; } -static void try_to_adjust_default_format_16bit(void) -{ - snd_pcm_hw_params_t *params; - int err; - - snd_pcm_hw_params_alloca(¶ms); - err = snd_pcm_hw_params_any(handle, params); - if (err < 0) { - error(_("Broken configuration for this PCM: no configurations available")); - prg_exit(EXIT_FAILURE); - } - - if (file_type != FORMAT_AU && snd_pcm_hw_params_test_format(handle, params, SND_PCM_FORMAT_S16_LE) == 0) - rhwparams.format = default_format = SND_PCM_FORMAT_S16_LE; - else if (file_type == FORMAT_AU && snd_pcm_hw_params_test_format(handle, params, SND_PCM_FORMAT_S16_BE) == 0) - rhwparams.format = default_format = SND_PCM_FORMAT_S16_BE; -} - int main(int argc, char *argv[]) { int duration_or_sample = 0; @@ -548,7 +528,6 @@ int main(int argc, char *argv[]) int do_device_list = 0, do_pcm_list = 0; snd_pcm_info_t *info; FILE *direction; - bool user_set_fmt = false; #ifdef ENABLE_NLS setlocale(LC_ALL, ""); @@ -583,7 +562,7 @@ int main(int argc, char *argv[]) } chunk_size = -1; - rhwparams.format = default_format; + rhwparams.format = DEFAULT_FORMAT; rhwparams.rate = DEFAULT_SPEED; rhwparams.channels = 1; @@ -633,7 +612,6 @@ int main(int argc, char *argv[]) } break; case 'f': - user_set_fmt = true; if (strcasecmp(optarg, "cd") == 0 || strcasecmp(optarg, "cdr") == 0) { if (strcasecmp(optarg, "cdr") == 0) rhwparams.format = SND_PCM_FORMAT_S16_BE; @@ -866,9 +844,6 @@ int main(int argc, char *argv[]) } } - if (!user_set_fmt) - try_to_adjust_default_format_16bit(); - chunk_size = 1024; hwparams = rhwparams; @@ -1089,7 +1064,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size) hwparams.channels = channels; switch (TO_CPU_SHORT(f->bit_p_spl, big_endian)) { case 8: - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != SND_PCM_FORMAT_U8) fprintf(stderr, _("Warning: format is changed to U8\n")); hwparams.format = SND_PCM_FORMAT_U8; @@ -1099,7 +1074,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size) native_format = SND_PCM_FORMAT_S16_BE; else native_format = SND_PCM_FORMAT_S16_LE; - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != native_format) fprintf(stderr, _("Warning: format is changed to %s\n"), snd_pcm_format_name(native_format)); @@ -1112,7 +1087,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size) native_format = SND_PCM_FORMAT_S24_3BE; else native_format = SND_PCM_FORMAT_S24_3LE; - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != native_format) fprintf(stderr, _("Warning: format is changed to %s\n"), snd_pcm_format_name(native_format)); @@ -1123,7 +1098,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size) native_format = SND_PCM_FORMAT_S24_BE; else native_format = SND_PCM_FORMAT_S24_LE; - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != native_format) fprintf(stderr, _("Warning: format is changed to %s\n"), snd_pcm_format_name(native_format)); @@ -1209,19 +1184,19 @@ static int test_au(int fd, void *buffer) pbrec_count = BE_INT(ap->data_size); switch (BE_INT(ap->encoding)) { case AU_FMT_ULAW: - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != SND_PCM_FORMAT_MU_LAW) fprintf(stderr, _("Warning: format is changed to MU_LAW\n")); hwparams.format = SND_PCM_FORMAT_MU_LAW; break; case AU_FMT_LIN8: - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != SND_PCM_FORMAT_U8) fprintf(stderr, _("Warning: format is changed to U8\n")); hwparams.format = SND_PCM_FORMAT_U8; break; case AU_FMT_LIN16: - if (hwparams.format != default_format && + if (hwparams.format != DEFAULT_FORMAT && hwparams.format != SND_PCM_FORMAT_S16_BE) fprintf(stderr, _("Warning: format is changed to S16_BE\n")); hwparams.format = SND_PCM_FORMAT_S16_BE; @@ -2390,7 +2365,7 @@ static void voc_play(int fd, int ofs, char *name) prg_exit(EXIT_FAILURE); } } - hwparams.format = default_format; + hwparams.format = DEFAULT_FORMAT; hwparams.channels = 1; hwparams.rate = DEFAULT_SPEED; set_params();