From 48cf708771f7e3d43357ee2717b6052728518006 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sat, 30 Jan 2010 14:07:03 +0100 Subject: [PATCH] wma: Defer decoding until two data blocks are available. This avoids buffer underruns caused by frames that span two blocks. --- wmadec_filter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wmadec_filter.c b/wmadec_filter.c index d78c72bd..96fb5008 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -1255,11 +1255,12 @@ next_buffer: fn->min_iqs += 4096; goto next_buffer; } - fn->min_iqs = WMA_FRAME_SKIP + pwd->ahi.block_align; + fn->min_iqs = 2 * (WMA_FRAME_SKIP + pwd->ahi.block_align); fn->private_data = pwd; converted = pwd->ahi.header_len; goto success; } + fn->min_iqs = WMA_FRAME_SKIP + pwd->ahi.block_align; for (;;) { char *out; int out_size = WMA_OUTPUT_BUFFER_SIZE; -- 2.39.2