summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-07-03 21:34:39 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-07-03 21:34:39 -0500
commit12c132006c97502d30ff51d245102c3eb1a7a37f (patch)
tree242898b667333b8ade1a02ea5165d2a908f1e706
parent7804ea7ff444c20664f21d74e97aa6304b4b8a14 (diff)
ffmpeg-shadertoy: flush encoder
-rw-r--r--ffmpeg-shadertoy/ffmpeg-shadertoy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ffmpeg-shadertoy/ffmpeg-shadertoy.c b/ffmpeg-shadertoy/ffmpeg-shadertoy.c
index 9ecd9c7..c7779ea 100644
--- a/ffmpeg-shadertoy/ffmpeg-shadertoy.c
+++ b/ffmpeg-shadertoy/ffmpeg-shadertoy.c
@@ -324,6 +324,12 @@ int main(int argc, const char **argv)
ret = avcodec_send_frame(avcc, dst_frame);
ASSERT_AV(ret, "Failed to send frame to encoder");
+ // After the last frame, flush the encoder
+ if (quit || t + 1.0f / (double)a_r > (double)a_t) {
+ ret = avcodec_send_frame(avcc, 0);
+ ASSERT_AV(ret, "Failed to flush encoder");
+ }
+
// Receive 0 or more packets from encoder
while (ret >= 0) {
ret = avcodec_receive_packet(avcc, pkt);