Referencing two data files with a single track
Use multiple sample descriptions reference data in multiple files for a track.
Overview
The data reference index to be used for a given media sample is stored within that sample’s sample description. Therefore, a track must contain multiple sample descriptions in order for that track to reference multiple data files. A different sample description must be used whenever the data file changes or whenever the format of the data changes. The sample-to-chunk atom determines which sample description to use for a sample.
The sample description atom would contain the following data values:
Sample description atom
├── Atom size: ...
├── Atom type: 'stsd'
├── Version/Flags: 0
└── Number of entries | 2
├── Sample description size[1]: ...
├── Data format: 'tmcd'
├── Reserved: 0
├── Data reference index: 1
├── (sample data): ...
├── Sample description size[1]: ...
├── Data format: 'tmcd'
├── Reserved: 0
├── Data reference index: 2
└── (sample data): ...If there is only 1 sample per chunk and the first 10 samples are extracted from sample description 2 and the next 30 samples are extracted from sample description 1, the sample-to-chunk atom would contain the following data values:
Sample-to-chunk atom
├── Atom size: 40
├── Atom type: 'stsc'
├── Version/Flags: 0
└── Number of entries: 2
├── First chunk[1]: 1
├── Samples per chunk[1]: 1
├── Samples description ID[1]: 2
├── First chunk[2]: 11
├── Samples per chunk[2]: 1
└── Samples description ID[2]: 1The data reference atom would contain the following data values:
Data information atom
├── Atom size: ...
├── Atom type: 'dinf'
└── Data reference atom
├── Atom size: ...
├── Atom type: 'dref'
├── Version/Flags: 0
└── Number of entries: 2
├── Size[1]: ...
├── Type[1]: 'alis'
├── Version[1]: 0
├── Flags[1]: 0 (not self referenced)
├── Data reference[1]: [alias pointing to file #1]
├── Size[2]: ...
├── Type[2]: 'rsrc'
├── Version[2]: 0
├── Flags[2] | 0 (not self referenced)
└── Data reference[2]: [alias pointing to file #2]See Also
Describing samples
Sample table atom ('stbl')Seeking with a QuickTime fileSample description atom ('stsd')Time-to-sample atom ('stts')Creating video tracks at 30 frames per secondCreating video tracks at 29.97 frames per secondCreating sound tracks at 44.1 kHzComposition offset atom ('ctts')Composition shift least greatest atom ('cslg')Using composition offset and composition shift least greatest atomsSync sample atom ('stss')Partial sync sample atom ('stps')Sample-to-chunk atom ('stsc')Sample size atom ('stsz')Chunk offset atom ('stco')