28 const std::vector<ChapterTextSample> &text_chapters,
29 const std::vector<ChapterImageSample> &image_chapters,
Mp4aConfig audio_cfg,
31 const std::vector<std::pair<std::string, std::vector<ChapterTextSample>>>
32 &extra_text_tracks = {},
33 const std::vector<uint8_t> *ilst_payload =
nullptr,
34 const std::vector<uint8_t> *meta_payload =
nullptr);
36#ifdef CHAPTERFORGE_TESTING
37namespace chapterforge::testing {
38struct TestDurationInfo {
39 uint32_t audio_timescale = 0;
40 uint64_t audio_duration_ts = 0;
41 uint32_t audio_duration_ms = 0;
42 std::vector<uint32_t> text_ms;
43 std::vector<uint32_t> image_ms;
46std::vector<uint32_t> build_audio_chunk_plan_for_test(uint32_t sample_count);
47std::vector<uint32_t> derive_chunk_plan_for_test(
const std::vector<uint8_t> &stsc_payload,
48 uint32_t sample_count);
50std::vector<std::vector<uint8_t>> encode_tx3g_track_for_test(
51 const std::vector<ChapterTextSample> &chapters);
52TestDurationInfo compute_durations_for_test(
54 const std::vector<ChapterTextSample> &text_chapters,
55 const std::vector<ChapterImageSample> &image_chapters);
Definition chapter_text_sample.hpp:16
bool write_mp4(const std::string &path, const AacExtractResult &aac, const std::vector< ChapterTextSample > &text_chapters, const std::vector< ChapterImageSample > &image_chapters, Mp4aConfig audio_cfg, const MetadataSet &meta, bool fast_start=true, const std::vector< std::pair< std::string, std::vector< ChapterTextSample > > > &extra_text_tracks={}, const std::vector< uint8_t > *ilst_payload=nullptr, const std::vector< uint8_t > *meta_payload=nullptr)
Definition mp4a_builder.hpp:17