diff --git a/io/previewgenerator.cpp b/io/previewgenerator.cpp index 2c89a851d..0bd8eaa38 100644 --- a/io/previewgenerator.cpp +++ b/io/previewgenerator.cpp @@ -217,6 +217,10 @@ void PreviewGenerator::finalize_media() { } } +void thumb_data_cleanup(void *info) { + delete [] static_cast(info); +} + void PreviewGenerator::generate_waveform() { SwsContext* sws_ctx; SwrContext* swr_ctx; @@ -296,7 +300,7 @@ void PreviewGenerator::generate_waveform() { linesize[0] = dstW*4; sws_scale(sws_ctx, temp_frame->data, temp_frame->linesize, 0, temp_frame->height, &data, linesize); - s->video_preview = QImage(data, dstW, dstH, linesize[0], QImage::Format_RGBA8888); + s->video_preview = QImage(data, dstW, dstH, linesize[0], QImage::Format_RGBA8888, thumb_data_cleanup); s->make_square_thumb(); // is video interlaced?