21 [[
nodiscard]] std::expected<data::LegacyBitmapRGBA8, std::string>
23 [[
nodiscard]] std::expected<sequence::Matrix2D, std::string>
39 const std::filesystem::path& file,
bool enableAudio,
44 [[
nodiscard]] std::expected<PresentationClock, std::string>
pump(
46 [[
nodiscard]] std::expected<std::optional<DecodedVideoFrame>, std::string>
47 frameAt(std::uint64_t elapsedMicroseconds);
std::expected< std::optional< DecodedVideoFrame >, std::string > frameAt(std::uint64_t elapsedMicroseconds)
std::expected< void, std::string > setPitch(std::uint32_t hertz, std::uint32_t originalHertz)
Presentation & operator=(const Presentation &)=delete
Presentation(const Presentation &)=delete
std::expected< PresentationClock, std::string > pump(std::uint64_t sequenceMicroseconds, bool paused=false)
bool videoDrained() const
std::expected< void, std::string > setGain(float gain)
void setPanning(std::int32_t percentage) noexcept
std::expected< void, std::string > open(const std::filesystem::path &file, bool enableAudio, const DecoderOptions &options={})
std::expected< void, std::string > seek(std::uint64_t timestampMicroseconds, std::uint64_t sequenceMicroseconds)
DecoderSnapshot snapshot() const
std::expected< sequence::Matrix2D, std::string > videoFrameTransform(std::uint32_t width, std::uint32_t height, const data::Sequence2DBoundingBoxAttribute &bounds, const sequence::Matrix2D &world)
std::expected< data::LegacyBitmapRGBA8, std::string > prepareVideoFrame(DecodedVideoFrame frame, const data::SequenceVideoData &options)
data::Sequence2DBoundingBoxAttribute binkDoubleSizeBounds(std::uint32_t width, std::uint32_t height) noexcept
std::uint64_t elapsedMicroseconds
std::uint64_t consumedAudioBytes