summaryrefslogtreecommitdiff
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.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
index 6dab5e882..44fd66cf2 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpeg_p.h
@@ -78,6 +78,19 @@ inline void getAVFrameTime(AVFrame &frame, int64_t &pts, AVRational &timeBase)
#endif
}
+struct AVDictionaryHolder
+{
+ AVDictionary *opts = nullptr;
+
+ operator AVDictionary **() { return &opts; }
+
+ ~AVDictionaryHolder()
+ {
+ if (opts)
+ av_dict_free(&opts);
+ }
+};
+
template<typename FunctionType, FunctionType F>
struct AVDeleter
{