#pragma once

#include <cstddef>
#include <cstdint>
#include <string>

namespace smartcut::media {

// Benchmarks the same decode/conversion and full-transcode paths used by the
// application. Temporary encoded samples are validated and removed before the
// function returns; no reusable unlicensed media output is produced.
std::string run_hardware_self_test(const std::string& input,
                                   std::size_t start_frame,
                                   std::int64_t start_pts,
                                   std::size_t requested_frames);

}  // namespace smartcut::media
