[PATCH - report available sample formats in aplay/arecord when currently selected one doesn't work]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Arnout Engelen <alsa2@xxxxxxxx>


Signed-off-by: Arnout Engelen <alsa2@xxxxxxxx>
---
 aplay/aplay.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/aplay/aplay.c b/aplay/aplay.c
index c7c82a1..60f17de 100644
--- a/aplay/aplay.c
+++ b/aplay/aplay.c
@@ -941,6 +941,20 @@ static int test_au(int fd, void *buffer)
 	return 0;
 }
 
+static void show_available_sample_formats(snd_pcm_hw_params_t* params)
+{
+	snd_pcm_format_t format;
+
+	fprintf(stderr, "Available formats:\n");
+	for (format = 0; format < SND_PCM_FORMAT_LAST; format++)
+	{
+		if (snd_pcm_hw_params_test_format(handle, params, format) == 0)
+		{
+			fprintf(stderr, "- %s\n", snd_pcm_format_name(format));
+		}
+	}
+}
+
 static void set_params(void)
 {
 	snd_pcm_hw_params_t *params;
@@ -977,6 +991,7 @@ static void set_params(void)
 	err = snd_pcm_hw_params_set_format(handle, params, hwparams.format);
 	if (err < 0) {
 		error(_("Sample format non available"));
+		show_available_sample_formats(params);
 		exit(EXIT_FAILURE);
 	}
 	err = snd_pcm_hw_params_set_channels(handle, params, hwparams.channels);
-- 
1.6.3.3

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux