The sample description
atom ('stsd')
contains information about the hint track samples. It specifies
the data format (note that currently only RTP data format is defined)
and the data reference to use (if more than one is defined) to
locate the hint track sample data. It also contains some general
information about this hint track, such as the hint track version number,
the maximum packet size allowed by this hint track, and the RTP
time scale. It may contain additional information, such as the random
offsets to add to the RTP time stamp and sequence number.
The sample description atom can contain a table of sample descriptions to accommodate media that are encoded in multiple formats, but a hint track can be expected to have a single sample description at this time.
The sample description for hint tracks is defined in Table 3-13.
Field |
Bytes |
|---|---|
Size |
4 |
Data format |
4 |
Reserved |
6 |
Data reference index |
2 |
Hint track version |
2 |
Last compatible hint track version |
2 |
Max packet size |
4 |
Additional data table |
variable |
A 32-bit integer specifying the size of this sample description in bytes.
A four-character code indicating the data format of
the hint track samples. Only 'rtp ' is
currently defined. Note that the fourth character in 'rtp
' is an ASCII blank space (0x20). Do not attempt
to packetize data whose format you do not recognize.
Six bytes that must be set to 0.
This field indirectly specifies where to find
the hint track sample data. The data reference is a file or resource
specified by the data reference atom ('dref')
inside the data information atom ('dinf')
of the hint track. The data information atom can contain a table
of data references, and the data reference index is a 16-bit integer
that tells you which entry in that table should be used. Normally,
the hint track has a single data reference, and this index entry
is set to 0.
A 16-bit unsigned integer indicating the version of the hint track specification. This is currently set to 1.
A 16-bit unsigned integer indicating the oldest hint track version with which this hint track is backward-compatible. If your application understands the hint track version specified by this field, it can work with this hint track.
A 32-bit integer indicating the packet size limit, in bytes, used when creating this hint track. The largest packet generated by this hint track will be no larger than this limit.
A table of variable length containing additional information. Additional information is formatted as a series of tagged entries.
This field always contains a tagged entry indicating the RTP time scale for RTP data. All other tagged entries are optional.
Three data tags are currently defined for RTP data. One tag is defined for use with any type of data. You can create additional tags. Tags are identified using four-character codes. Tags using all lowercase letters are reserved by Apple. Ignore any tagged data you do not understand.
Table entries are structured like atoms. The structure of table entries is shown in Table 3-14.
Field |
Format |
Bytes |
|---|---|---|
Entry length |
32-bit integer |
4 |
Data tag |
4-char code |
4 |
Data |
Variable |
Entry length - 8 |
Tagged entries for the 'rtp ' data
format are defined as follows:
'tims'A 32-bit integer specifying the RTP time scale. This entry is required for RTP data.
'tsro'A 32-bit integer specifying the offset to add to the stored time stamp when sending RTP packets. If this entry is not present, a random offset should be used, as specified by the IETF. If this entry is 0, use an offset of 0 (no offset).
'snro'A 32-bit integer specifying the offset to add to the sequence number when sending RTP packets. If this entry is not present, a random offset should be used, as specified by the IETF. If this entry is 0, use an offset of 0 (no offset).
Last updated: 2007-09-04