]> git.sesse.net Git - nageru/blobdiff - nageru/image_input.cpp
Disable a Clang warning we do not care for.
[nageru] / nageru / image_input.cpp
index afb87c57a6aa32577ee9473f9c87be89c6b70058..7b11679e03b22089e1f0508e658e049d4be89662 100644 (file)
@@ -126,7 +126,7 @@ shared_ptr<const ImageInput::Image> ImageInput::load_image_raw(const string &pat
                fprintf(stderr, "%s: Cannot fill codec parameters\n", pathname.c_str());
                return nullptr;
        }
-       AVCodec *codec = avcodec_find_decoder(codecpar->codec_id);
+       const AVCodec *codec = avcodec_find_decoder(codecpar->codec_id);
        if (codec == nullptr) {
                fprintf(stderr, "%s: Cannot find decoder\n", pathname.c_str());
                return nullptr;
@@ -143,17 +143,14 @@ shared_ptr<const ImageInput::Image> ImageInput::load_image_raw(const string &pat
        AVFrameWithDeleter frame = av_frame_alloc_unique();
        bool eof = false;
        do {
-               AVPacket pkt;
-               unique_ptr<AVPacket, decltype(av_packet_unref)*> 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;
                        }