X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fexport.cpp;h=b02361e9d2bc3f71ebbd54f0800d778b9e9e947d;hb=2f92c975a3cf9f4803a58267fd2a12765e34a69e;hp=a16b41d55514f26e389830f8256d238cc7b3bead;hpb=79da5a221c1109e6ae536b68c5bfc2dfb4ee725b;p=nageru diff --git a/futatabi/export.cpp b/futatabi/export.cpp index a16b41d..b02361e 100644 --- a/futatabi/export.cpp +++ b/futatabi/export.cpp @@ -34,16 +34,15 @@ struct BufferedFrame { bool write_buffered_frames(AVFormatContext *avctx, const vector &buffered_frames) { for (const BufferedFrame &frame : buffered_frames) { - AVPacket pkt; - av_init_packet(&pkt); - pkt.stream_index = frame.video_stream_idx; - pkt.data = (uint8_t *)frame.data.data(); - pkt.size = frame.data.size(); - pkt.pts = frame.pts; - pkt.dts = frame.pts; - pkt.flags = AV_PKT_FLAG_KEY; + AVPacketWithDeleter pkt = av_packet_alloc_unique(); + pkt->stream_index = frame.video_stream_idx; + pkt->data = (uint8_t *)frame.data.data(); + pkt->size = frame.data.size(); + pkt->pts = frame.pts; + pkt->dts = frame.pts; + pkt->flags = AV_PKT_FLAG_KEY; - if (av_write_frame(avctx, &pkt) < 0) { + if (av_write_frame(avctx, pkt.get()) < 0) { return false; } }