-namespace {
-
-void avformat_close_input_unique(AVFormatContext *format_ctx)
-{
- avformat_close_input(&format_ctx);
-}
-
-unique_ptr<AVFormatContext, decltype(avformat_close_input_unique)*>
-avformat_open_input_unique(const char *filename,
- AVInputFormat *fmt, AVDictionary **options)
-{
- AVFormatContext *format_ctx = nullptr;
- if (avformat_open_input(&format_ctx, filename, fmt, options) != 0) {
- format_ctx = nullptr;
- }
- return unique_ptr<AVFormatContext, decltype(avformat_close_input_unique)*>(
- format_ctx, avformat_close_input_unique);