Commit 76d38c145d for ffmpeg
commit 76d38c145d252227089477bab8bbb5142b5e4673
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed Nov 11 17:45:44 2026 +0100
fftools/ffmpeg_filter: mark the frame sent for an output without frames as EOF
When the output feeds another filtergraph, that filtergraph expects
FRAME_OPAQUE_EOF on a frame without buffers.
Fixes: Assertion o == FRAME_OPAQUE_EOF failed
Fixes: avif/gain_map_alpha_grid.avif without an AV1 software decoder
Fixes: fsm1bknlI5TP
Found during the triage of a finding from the review of https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25671
Assertion failure Replicated through UnModified FFmpeg
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 6b84617b5b..e377dac45f 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -2821,6 +2821,7 @@ static int close_output(OutputFilterPriv *ofp, FilterGraphThread *fgt)
fd->frame_rate_filter = ofp->fps.framerate;
av_assert0(!frame->buf[0]);
+ frame->opaque = (void*)(intptr_t)FRAME_OPAQUE_EOF;
av_log(ofp, AV_LOG_WARNING,
"No filtered frames for output stream, trying to "