summaryrefslogtreecommitdiff
path: root/ffmpeg-shadertoy
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpeg-shadertoy')
-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);