[alsa-devel] [PATCH] crec: Always read whole number of fragments when length limit specified

Richard Fitzgerald rf at opensource.wolfsonmicro.com
Thu Dec 3 12:25:35 CET 2015


This patch removes the lines that adjusted the read size to exactly
read to the end of the calculated length in bytes. Doing this could
lead to invalid fragment sizes being requested which may then cause
a read error on some codecs.

Instead we keep reading whole fragments until we have >= length bytes
of data captured.

Signed-off-by: Richard Fitzgerald <rf at opensource.wolfsonmicro.com>
---
 src/utils/crec.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/utils/crec.c b/src/utils/crec.c
index 258fade..e61e620 100644
--- a/src/utils/crec.c
+++ b/src/utils/crec.c
@@ -332,9 +332,6 @@ void capture_samples(char *name, unsigned int card, unsigned int device,
 		fprintf(finfo, "%s: Capturing audio NOW!!!\n", __func__);
 
 	do {
-		if (length && size > length - total_read)
-			size = length - total_read;
-
 		read = compress_read(compress, buffer, size);
 		if (read < 0) {
 			fprintf(stderr, "Error reading sample\n");
-- 
1.9.1



More information about the Alsa-devel mailing list