From 855354a87d2983e190088bc5330c129094b900ca Mon Sep 17 00:00:00 2001 From: dvdli Date: Tue, 12 Jan 2021 14:53:42 +0800 Subject: remove pcm_prepare in pcm_open For the dynamic pcm device, it is valid to specify the backend after opening it. However, it is invalid to call prepare on a dynamic pcm device without connecting any backend device. We should not do pcm_prepare in pcm_open. See also: Issue #197 --- utils/tinycap.c | 1 + utils/tinyplay.c | 1 + 2 files changed, 2 insertions(+) (limited to 'utils') diff --git a/utils/tinycap.c b/utils/tinycap.c index 7d4b8a4..e3aa9df 100644 --- a/utils/tinycap.c +++ b/utils/tinycap.c @@ -231,6 +231,7 @@ unsigned int capture_sample(FILE *file, unsigned int card, unsigned int device, pcm_get_error(pcm)); return 0; } + pcm_prepare(pcm); size = pcm_frames_to_bytes(pcm, pcm_get_buffer_size(pcm)); buffer = malloc(size); diff --git a/utils/tinyplay.c b/utils/tinyplay.c index 2689158..482ad24 100644 --- a/utils/tinyplay.c +++ b/utils/tinyplay.c @@ -192,6 +192,7 @@ int ctx_init(struct ctx* ctx, const struct cmd *cmd) pcm_close(ctx->pcm); return -1; } + pcm_prepare(ctx->pcm); return 0; } -- cgit v1.2.3