]> git.sesse.net Git - nageru/commitdiff
When exporting interpolated files, make sure they are seekable.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 23 Dec 2018 00:18:34 +0000 (01:18 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 23 Dec 2018 00:18:34 +0000 (01:18 +0100)
futatabi/video_stream.cpp

index e41304bac948f9180b2f6f108cc121e26e950829..6ee9608816f1940be13c06ba8ca9fc2edacd6afa 100644 (file)
@@ -593,6 +593,7 @@ void VideoStream::encode_thread_func()
                        pkt.stream_index = 0;
                        pkt.data = (uint8_t *)jpeg.data();
                        pkt.size = jpeg.size();
+                       pkt.flags = AV_PKT_FLAG_KEY;
                        mux->add_packet(pkt, qf.output_pts, qf.output_pts);
 
                        last_frame.assign(&jpeg[0], &jpeg[0] + jpeg.size());
@@ -609,6 +610,7 @@ void VideoStream::encode_thread_func()
                        pkt.stream_index = 0;
                        pkt.data = (uint8_t *)jpeg.data();
                        pkt.size = jpeg.size();
+                       pkt.flags = AV_PKT_FLAG_KEY;
                        mux->add_packet(pkt, qf.output_pts, qf.output_pts);
                        last_frame = move(jpeg);
                } else if (qf.type == QueuedFrame::INTERPOLATED || qf.type == QueuedFrame::FADED_INTERPOLATED) {
@@ -633,6 +635,7 @@ void VideoStream::encode_thread_func()
                        pkt.stream_index = 0;
                        pkt.data = (uint8_t *)jpeg.data();
                        pkt.size = jpeg.size();
+                       pkt.flags = AV_PKT_FLAG_KEY;
                        mux->add_packet(pkt, qf.output_pts, qf.output_pts);
                        last_frame = move(jpeg);
                } else if (qf.type == QueuedFrame::REFRESH) {
@@ -641,6 +644,7 @@ void VideoStream::encode_thread_func()
                        pkt.stream_index = 0;
                        pkt.data = (uint8_t *)last_frame.data();
                        pkt.size = last_frame.size();
+                       pkt.flags = AV_PKT_FLAG_KEY;
                        mux->add_packet(pkt, qf.output_pts, qf.output_pts);
                } else {
                        assert(false);