[alsa-devel] [PATCH 01/10] alsabat: add default device name for playback and capture

han.lu at intel.com han.lu at intel.com
Wed Mar 2 09:53:11 CET 2016


From: "Lu, Han" <han.lu at intel.com>

Add default name for the playback and capture devices, in case
they were not set by user through '-D', '-P' or '-C' options.
The patch was tested on Ubuntu and Chrome OS.

Signed-off-by: Lu, Han <han.lu at intel.com>

diff --git a/bat/alsa.c b/bat/alsa.c
index 5eaa25b..5775748 100644
--- a/bat/alsa.c
+++ b/bat/alsa.c
@@ -377,12 +377,6 @@ void *playback_alsa(struct bat *bat)
 	retval_play = 0;
 	memset(&sndpcm, 0, sizeof(sndpcm));
 
-	if (bat->playback.device == NULL) {
-		fprintf(bat->err, _("No PCM device for playback: exit\n"));
-		retval_play = 1;
-		goto exit1;
-	}
-
 	err = snd_pcm_open(&sndpcm.handle, bat->playback.device,
 			SND_PCM_STREAM_PLAYBACK, 0);
 	if (err != 0) {
@@ -533,12 +527,6 @@ void *record_alsa(struct bat *bat)
 	retval_record = 0;
 	memset(&sndpcm, 0, sizeof(sndpcm));
 
-	if (bat->capture.device == NULL) {
-		fprintf(bat->err, _("No PCM device for capture: exit\n"));
-		retval_record = 1;
-		goto exit1;
-	}
-
 	err = snd_pcm_open(&sndpcm.handle, bat->capture.device,
 			SND_PCM_STREAM_CAPTURE, 0);
 	if (err != 0) {
diff --git a/bat/bat.c b/bat/bat.c
index ddb60b7..9c637f2 100644
--- a/bat/bat.c
+++ b/bat/bat.c
@@ -473,6 +473,10 @@ static int bat_init(struct bat *bat)
 			return err;
 	}
 
+	/* Set default playback and capture devices */
+	if (bat->playback.device == NULL && bat->capture.device == NULL)
+		bat->playback.device = bat->capture.device = DEFAULT_DEV_NAME;
+
 	/* Determine capture file */
 	if (bat->local) {
 		bat->capture.file = bat->playback.file;
diff --git a/bat/common.h b/bat/common.h
index 7346d9f..5417c0e 100644
--- a/bat/common.h
+++ b/bat/common.h
@@ -16,6 +16,7 @@
 #include <alsa/asoundlib.h>
 
 #define TEMP_RECORD_FILE_NAME		"/tmp/bat.wav.XXXXXX"
+#define DEFAULT_DEV_NAME		"default"
 
 #define OPT_BASE			300
 #define OPT_LOG				(OPT_BASE + 1)
-- 
2.5.0



More information about the Alsa-devel mailing list