From: Steinar H. Gunderson Date: Sat, 14 Nov 2015 13:27:38 +0000 (+0100) Subject: Fix some leaks in ImageInput. X-Git-Tag: 1.0.0~123 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=93f0cd515b3993ac6c6d1be6e639cbf0bf5a902a;p=nageru Fix some leaks in ImageInput. --- diff --git a/image_input.cpp b/image_input.cpp index b4fc657..090b6db 100644 --- a/image_input.cpp +++ b/image_input.cpp @@ -63,6 +63,7 @@ ImageInput::ImageInput(const std::string &filename) exit(1); } if (pkt.stream_index != stream_index) { + av_free_packet(&pkt); continue; } @@ -70,6 +71,7 @@ ImageInput::ImageInput(const std::string &filename) fprintf(stderr, "%s: Cannot decode frame\n", filename.c_str()); exit(1); } + av_free_packet(&pkt); } while (!frame_finished); // TODO: Scale down if needed! @@ -89,4 +91,9 @@ ImageInput::ImageInput(const std::string &filename) image_data.reset(new uint8_t[len]); av_image_copy_to_buffer(image_data.get(), len, pic.data, pic.linesize, PIX_FMT_RGBA, frame->width, frame->height, 1); set_pixel_data(image_data.get()); + + avpicture_free(&pic); + av_frame_free(&frame); + avcodec_close(codec_ctx); + avformat_close_input(&format_ctx); }