summaryrefslogtreecommitdiffstats
path: root/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/qffmpeg_p.h')
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpeg_p.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
index 060531ac3..e9da8319d 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
@@ -69,6 +69,28 @@ inline AVFrameUPtr makeAVFrame()
return AVFrameUPtr(av_frame_alloc());
}
+struct AVPacketDeleter
+{
+ void operator()(AVPacket *packet) const
+ {
+ if (packet)
+ av_packet_free(&packet);
+ }
+};
+
+using AVPacketUPtr = std::unique_ptr<AVPacket, AVPacketDeleter>;
+
+struct AVCodecContextDeleter
+{
+ void operator()(AVCodecContext *context) const
+ {
+ if (context)
+ avcodec_free_context(&context);
+ }
+};
+
+using AVCodecContextUPtr = std::unique_ptr<AVCodecContext, AVCodecContextDeleter>;
+
QT_END_NAMESPACE
}