MP4(3)

NAME

MP4CopyTrack - Make a copy of a specified track

SYNTAX

#include <mp4.h>

MP4TrackId MP4CopyTrack(
    MP4FileHandle srcFile,
    MP4TrackId srcTrackId,
    MP4FileHandle dstFile = MP4_INVALID_FILE_HANDLE,
    bool applyEdits = false,
    MP4TrackId dstHintTrackReferenceTrack = MP4_INVALID_TRACK_ID
)

ARGUMENTS

srcFile
    Specifies the mp4 file of the source track of the operation.

srcTrackId
    Specifies the track id of the track to be copied.

dstFile
    Specifies the mp4 file of the new, copied track. If the value is MP4_INVALID_FILE_HANDLE, the new track is created in the same file as the source track.

applyEdits
    Specifies if the track edit list is to be applied during the copying of media samples. If false, then all samples are copied, if true then only those samples included by the track edit list are copied.

dstHintTrackReferenceTrack
    When cloning a hint track, this parameter specifies the track id of the reference track in the destination file.

RETURN VALUES

Upon success, the track id of the new track. Upon an error, MP4_INVALID_TRACK_ID.

DESCRIPTION

MP4CopyTrack creates a new track to an mp4 file that is a copy of an existing track with respect to the track media type, other control information, and media samples.

The applyEdits parameter of this function allows for easy creation of standalone clips from a larger mp4 file. To do this use MP4AddTrackEdit() to specify the start and duration of the clip, and then use MP4CopyTrack() to export that portion of the media to a new mp4 file.

Note if you do not want to copy the media samples, but just want to create a track with the same type and control information of the source track use MP4CloneTrack().

SEE ALSO

MP4(3) MP4CloneTrack(3) MP4AddTrackEdit(3)