[alsa-devel] [PATCH v3 1/2] aplay: Show usage if no parameter is passed
Takashi Iwai
tiwai at suse.de
Tue Nov 13 14:35:24 CET 2012
At Tue, 13 Nov 2012 10:05:39 -0200,
Fabio Estevam wrote:
>
> When aplay/arecord are called without any argument the application hangs forever.
>
> Instead of hanging, print the usage and exit.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
Applied this one. I suppose there is no v4 for aplay, right?
thanks,
Takashi
> ---
> Changes since v2:
> - return 1 instead of 0
> - Use stdout for the arecord case
> Changes since v1:
> - Also check for isatty, so that 'aplay < file.wav' can still work
> aplay/aplay.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/aplay/aplay.c b/aplay/aplay.c
> index 741979a..66cc78f 100644
> --- a/aplay/aplay.c
> +++ b/aplay/aplay.c
> @@ -493,6 +493,7 @@ int main(int argc, char *argv[])
> int tmp, err, c;
> int do_device_list = 0, do_pcm_list = 0;
> snd_pcm_info_t *info;
> + FILE *direction;
>
> #ifdef ENABLE_NLS
> setlocale(LC_ALL, "");
> @@ -511,14 +512,21 @@ int main(int argc, char *argv[])
> file_type = FORMAT_WAVE;
> command = "arecord";
> start_delay = 1;
> + direction = stdout;
> } else if (strstr(argv[0], "aplay")) {
> stream = SND_PCM_STREAM_PLAYBACK;
> command = "aplay";
> + direction = stdin;
> } else {
> error(_("command should be named either arecord or aplay"));
> return 1;
> }
>
> + if (isatty(fileno(direction)) && (argc == 1)) {
> + usage(command);
> + return 1;
> + }
> +
> chunk_size = -1;
> rhwparams.format = DEFAULT_FORMAT;
> rhwparams.rate = DEFAULT_SPEED;
> --
> 1.7.9.5
>
>
More information about the Alsa-devel
mailing list