diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-03-17 16:11:57 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-03-17 16:11:57 +0100 |
commit | 87ae12214b5062ba2b05055b9a10e32a09c36fee (patch) | |
tree | 0b18ae752644cd252da92f325e0e43fb0b8298dd | |
parent | fe95bc237a3dcefb32398b5b346ce8df1baa7231 (diff) | |
download | alsa-lib-87ae12214b5062ba2b05055b9a10e32a09c36fee.tar.gz |
Use defaults.pcm.file_format for the default file format of file plugin
Use "defaults.pcm.file_format" for the default file format of
file plugin. It's set to "raw" as default for compatibility.
-rw-r--r-- | src/conf/alsa.conf | 11 | ||||
-rw-r--r-- | src/pcm/pcm_file.c | 11 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf index 53baedf1..db642597 100644 --- a/src/conf/alsa.conf +++ b/src/conf/alsa.conf @@ -96,6 +96,7 @@ defaults.pcm.iec958.device defaults.pcm.device defaults.pcm.modem.card defaults.pcm.card defaults.pcm.modem.device defaults.pcm.device # truncate files via file or tee PCM +defaults.pcm.file_format "raw" defaults.pcm.file_truncate true defaults.rawmidi.card 0 defaults.rawmidi.device 0 @@ -266,7 +267,10 @@ pcm.tee { } @args.FORMAT { type string - default raw + default { + @func refer + name defaults.pcm.file_format + } } type file slave.pcm $SLAVE @@ -285,7 +289,10 @@ pcm.file { } @args.FORMAT { type string - default raw + default { + @func refer + name defaults.pcm.file_format + } } type file slave.pcm null diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c index 74bcbf52..289a434c 100644 --- a/src/pcm/pcm_file.c +++ b/src/pcm/pcm_file.c @@ -733,6 +733,17 @@ int _snd_pcm_file_open(snd_pcm_t **pcmp, const char *name, SNDERR("Unknown field %s", id); return -EINVAL; } + if (!format) { + snd_config_t *n; + /* read defaults */ + if (snd_config_search(root, "defaults.pcm.file_format", &n) >= 0) { + err = snd_config_get_string(n, &format); + if (err < 0) { + SNDERR("Invalid file format"); + return -EINVAL; + } + } + } if (!slave) { SNDERR("slave is not defined"); return -EINVAL; |