From 4080606f7262374d3b429d5b4225682a5390e05e Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Thu, 9 Nov 2017 17:44:52 +0100 Subject: [PATCH] Fix a leak when streaming. Requires FFmpeg 3.3, though. (See FFmpeg bug #6520.) --- defs.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/defs.h b/defs.h index a5679af..55bb75e 100644 --- a/defs.h +++ b/defs.h @@ -1,6 +1,15 @@ #ifndef _DEFS_H #define _DEFS_H +#include + +// This flag is only supported in FFmpeg 3.3 and up, and we only require 3.1. +#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 39, 100) +#define MUX_SKIP_TRAILER "+skip_trailer" +#else +#define MUX_SKIP_TRAILER "" +#endif + #define OUTPUT_FREQUENCY 48000 // Currently needs to be exactly 48000, since bmusb outputs in that. #define MAX_FPS 60 #define FAKE_FPS 25 // Must be an integer. @@ -20,8 +29,8 @@ #define DEFAULT_STREAM_MUX_NAME "nut" // Only for HTTP. Local dump guesses from LOCAL_DUMP_SUFFIX. #define DEFAULT_HTTPD_PORT 9095 #define MUX_OPTS { \ - /* Make seekable .mov files. */ \ - { "movflags", "empty_moov+frag_keyframe+default_base_moof" }, \ + /* Make seekable .mov files, and keep MP4 muxer from using unlimited amounts of memory. */ \ + { "movflags", "empty_moov+frag_keyframe+default_base_moof" MUX_SKIP_TRAILER }, \ \ /* Make for somewhat less bursty stream output when using .mov. */ \ { "frag_duration", "125000" }, \ -- 2.39.2