<!--
{
  "documentType" : "article",
  "framework" : "quicktime-file-format",
  "identifier" : "/documentation/QuickTime-File-Format/Referencing_two_data_files_with_a_single_track",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Referencing two data files with a single track"
}
-->

# 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]: 1
```

The 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]
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)