[FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: Fix crash when flushing non-fully setup output stream

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Oct 8 11:14:39 EEST 2021

The output stream's packet may not have been allocated
at that point. This happens when quitting in the following command line:
$ ./ffmpeg -lavfi abuffer=sample_fmt=u8:sample_rate=48000:channel_layout=stereo -f null -

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
Is there actually a reason that this packet is not allocated together
with the input/output stream (instead checking every time in the
non-init codepath)?

 fftools/ffmpeg.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index bb29e3cec5..0e38d6d185 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1981,6 +1981,9 @@ static void flush_encoders(void)
             AVPacket *pkt = ost->pkt;
             int pkt_size;
+            if (!pkt)
+                break;
             switch (enc->codec_type) {
             case AVMEDIA_TYPE_AUDIO:
                 desc   = "audio";

More information about the ffmpeg-devel mailing list