struct AVFormatContext;
struct AVFrame;
struct AVInputFormat;
-
+struct SwsContext;
+typedef struct AVIOInterruptCB AVIOInterruptCB;
// AVFormatContext
struct avformat_close_input_unique {
AVFormatContextWithCloser;
AVFormatContextWithCloser avformat_open_input_unique(
- const char *pathname, AVInputFormat *fmt, AVDictionary **options);
+ const char *pathname, AVInputFormat *fmt,
+ AVDictionary **options);
+
+AVFormatContextWithCloser avformat_open_input_unique(
+ const char *pathname, AVInputFormat *fmt,
+ AVDictionary **options,
+ const AVIOInterruptCB &interrupt_cb);
// AVCodecContext
AVFrameWithDeleter av_frame_alloc_unique();
+// SwsContext
+struct sws_free_context_unique {
+ void operator() (SwsContext *context) const;
+};
+
+typedef std::unique_ptr<SwsContext, sws_free_context_unique>
+ SwsContextWithDeleter;
+
#endif // !defined(_FFMPEG_RAII_H)