38 void operator()(AVFormatContext* ctx)
const noexcept
41 avformat_close_input(&ctx);
44 using FormatContextPtr = std::unique_ptr<AVFormatContext, FormatContextDeleter>;
46 FormatContextPtr format_context;
47 std::vector<AVMediaType> streams;
48 std::optional<int64_t> duration_av;
50 std::optional<double> duration_seconds() const noexcept
54 return *duration_av / double(AV_TIME_BASE);
57 bool has_video() const noexcept
60 if(t == AVMEDIA_TYPE_VIDEO)
65 bool has_audio() const noexcept
68 if(t == AVMEDIA_TYPE_AUDIO)