/* * Copyright (c) 2021, Hunter Salyer * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include #include namespace Video::Matroska { struct EBMLHeader { DeprecatedString doc_type; u32 doc_type_version; }; class SegmentInformation { public: u64 timestamp_scale() const { return m_timestamp_scale; } void set_timestamp_scale(u64 timestamp_scale) { m_timestamp_scale = timestamp_scale; } Utf8View muxing_app() const { return Utf8View(m_muxing_app); } void set_muxing_app(DeprecatedString muxing_app) { m_muxing_app = move(muxing_app); } Utf8View writing_app() const { return Utf8View(m_writing_app); } void set_writing_app(DeprecatedString writing_app) { m_writing_app = move(writing_app); } Optional duration_unscaled() const { return m_duration_unscaled; } void set_duration_unscaled(double duration) { m_duration_unscaled.emplace(duration); } Optional