diff options
Diffstat (limited to 'src/plugins/multimedia/ffmpeg/qffmpeg_p.h')
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpeg_p.h | 22 |
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 } |