From 33b50d4544476d1e98a520ed2438b5a3aa5073a7 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 10 May 2009 15:28:13 +0200 Subject: [PATCH 1/1] mp3dec: Try harder to recover from non-fatal errors. If there's still data left, try to decode the next header in the same scheduler run. This avoids unnecessary copies of large parts of the mp3 input buffer. --- mp3dec_filter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mp3dec_filter.c b/mp3dec_filter.c index 90293f0a..92da4a5c 100644 --- a/mp3dec_filter.c +++ b/mp3dec_filter.c @@ -84,8 +84,8 @@ next_frame: out: if (pmd->stream.next_frame) { /* we still have some data */ size_t off = pmd->stream.bufend - pmd->stream.next_frame; -// PARA_INFO_LOG("off: %zd, rate: %u, returning %zd\n", off, -// fn->fc->samplerate, copy - off); + if (fn->loaded + 16384 <= fn->bufsize && off > 2048) + goto next_frame; return copy - off; } return copy; -- 2.39.2