From a34aee4646284eae67c1317d7baf82c2b3012aba Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
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 <michaelni@gmx.at>
---
 libswresample/swresample.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index 6f1c41bc5c3..19423024ba3 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;
 
-- 
GitLab