diff options
| author | Hunter Kvalevog <hunter@kvog.sh> | 2026-07-03 21:34:39 -0500 |
|---|---|---|
| committer | Hunter Kvalevog <hunter@kvog.sh> | 2026-07-03 21:34:39 -0500 |
| commit | 12c132006c97502d30ff51d245102c3eb1a7a37f (patch) | |
| tree | 242898b667333b8ade1a02ea5165d2a908f1e706 | |
| parent | 7804ea7ff444c20664f21d74e97aa6304b4b8a14 (diff) | |
ffmpeg-shadertoy: flush encoder
| -rw-r--r-- | ffmpeg-shadertoy/ffmpeg-shadertoy.c | 6 |
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); |