mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-11-09 17:45:41 +01:00
alsabat: add default device name for playback and capture
Add default name for the playback and capture devices, in case they were not set by user through '-D', '-P' or '-C' options. Previously, if no device be specified, the alsabat will start a playback thread and a capture thread, and then exit the threads with error log. If only one of playback and capture is specified, the alsabat will work on single line mode as before, where only one thread (playback or capture) will be started. The patch was tested on Ubuntu and Chrome OS. Signed-off-by: Lu, Han <han.lu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
b5c0660230
commit
333cd85d7d
3 changed files with 5 additions and 12 deletions
12
bat/alsa.c
12
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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue