X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fimage_input.cpp;fp=nageru%2Fimage_input.cpp;h=7b11679e03b22089e1f0508e658e049d4be89662;hb=2f92c975a3cf9f4803a58267fd2a12765e34a69e;hp=2e062714285b170148a9822c7289a4a1efe02d2f;hpb=79da5a221c1109e6ae536b68c5bfc2dfb4ee725b;p=nageru diff --git a/nageru/image_input.cpp b/nageru/image_input.cpp index 2e06271..7b11679 100644 --- a/nageru/image_input.cpp +++ b/nageru/image_input.cpp @@ -143,17 +143,14 @@ shared_ptr ImageInput::load_image_raw(const string &pat AVFrameWithDeleter frame = av_frame_alloc_unique(); bool eof = false; do { - AVPacket pkt; - unique_ptr pkt_cleanup( - &pkt, av_packet_unref); - av_init_packet(&pkt); - pkt.data = nullptr; - pkt.size = 0; - if (av_read_frame(format_ctx.get(), &pkt) == 0) { - if (pkt.stream_index != stream_index) { + AVPacketWithDeleter pkt = av_packet_alloc_unique(); + pkt->data = nullptr; + pkt->size = 0; + if (av_read_frame(format_ctx.get(), pkt.get()) == 0) { + if (pkt->stream_index != stream_index) { continue; } - if (avcodec_send_packet(codec_ctx.get(), &pkt) < 0) { + if (avcodec_send_packet(codec_ctx.get(), pkt.get()) < 0) { fprintf(stderr, "%s: Cannot send packet to codec.\n", pathname.c_str()); return nullptr; }