From a34aee4646284eae67c1317d7baf82c2b3012aba Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 13 Jan 2013 15:57:56 +0100 Subject: [PATCH] swr: limit buffer size for silence injection This reduces memory usage for unreasonable large silence injections Signed-off-by: Michael Niedermayer --- libswresample/swresample.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 6f1c41bc5c..19423024ba 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -818,6 +818,13 @@ int swr_inject_silence(struct SwrContext *s, int count){ if(count <= 0) return 0; +#define MAX_SILENCE_STEP 16384 + while (count > MAX_SILENCE_STEP) { + if ((ret = swr_inject_silence(s, MAX_SILENCE_STEP)) < 0) + return ret; + count -= MAX_SILENCE_STEP; + } + if((ret=swri_realloc_audio(&s->silence, count))<0) return ret;