ISOMedia.ProgressiveBuild (ISOMedia v0.1.0)

Copy Markdown View Source

Assemble a progressive [ftyp, moov, mdat] tree from one or more inputs' per-track samples + mdat sources. Shared by Concat (N inputs) and Defragment (one input). Preserves interleave (runs sorted by original offset for the byte layout) while keeping logical {input, chunk} order for each track's stco.

Summary

Functions

inputs_data is a list of %{samples: [[%Sample{}] per track], mdats: collect/1 records}. base_moov supplies the trak skeletons and non-trak children (its traks' stbl is fully replaced; any mvex must already be stripped by the caller). Returns [ftyp, moov, mdat].

Functions

assemble(ftyp, base_moov, inputs_data, movie_ts)

inputs_data is a list of %{samples: [[%Sample{}] per track], mdats: collect/1 records}. base_moov supplies the trak skeletons and non-trak children (its traks' stbl is fully replaced; any mvex must already be stripped by the caller). Returns [ftyp, moov, mdat].