37 void operator()(AVFormatContext* ctx)
const noexcept
40 avformat_close_input(&ctx);
43 using FormatContextPtr = std::unique_ptr<AVFormatContext, FormatContextDeleter>;
45 FormatContextPtr format_context;
46 std::vector<AVMediaType> streams;
47 std::optional<int64_t> duration_av;
49 std::optional<double> duration_seconds() const noexcept
53 return *duration_av / double(AV_TIME_BASE);
56 bool has_video() const noexcept
59 if(t == AVMEDIA_TYPE_VIDEO)
64 bool has_audio() const noexcept
67 if(t == AVMEDIA_TYPE_AUDIO)