#pragma once

#include <filesystem>
#include <string>
#include <optional>
#include <vector>

namespace smartcut::media {

std::string probe_container(const std::filesystem::path& path);
std::optional<std::vector<int>> probe_stream_media_types(const std::filesystem::path& path);
std::string dovi_config_report(const std::filesystem::path& path);
struct AudioTrackInfo { std::size_t stream_index{}; int time_base_num{}; int time_base_den{}; int sample_rate{}; int channels{}; };
std::optional<AudioTrackInfo> primary_audio_track(const std::filesystem::path& path);

}  // namespace smartcut::media
