MP4WriteSample - Write a track sample
MP4Duration duration = MP4_INVALID_DURATION,
MP4Duration renderingOffset = 0,
bool isSyncSample = true
hFile Specifies the mp4 file to which the operation applies.
Specifies the track to which the operation applies.
pBytes Pointer to the sample data.
The size in bytes of the sample.
The duration for this sample. Caveat: The duration should be in
the track timescale units.
The rendering offset for this sample. Currently the only media
type that needs this feature is MPEG video. Caveat: The offset
should be in the track timescale units.
The sync/random access flag for this sample.
Upon success, true (1). Upon an error, false (0).
MP4WriteSample writes the given sample at the end of the specified
track. Currently the library does not support random insertion of
samples into the track timeline. Note that with mp4 there cannot be any
holes or overlapping samples in the track timeline. The last three
arguments give optional sample information.
The value of duration can be given as MP4_INVALID_DURATION if all
samples in the track have the same duration. This can be specified with
MP4AddTrack() and related functions.
Typically for audio none of the optional arguments are needed. MPEG
audio such as MP3 or AAC has a fixed sample duration and every sample
can be accessed at random.
For video, all of the optional arguments could be needed. MPEG video
can be encoded at a variable frame rate, with only occasional random
access points, and with "B frames" which cause the rendering (display)
order of the video frames to differ from the storage/decoding order.
Other media types fall between these two extremes.