MP4CopySample - Make a copy of a specified sample
#include <mp4.h>
MP4TrackId MP4CopySample(
MP4FileHandle srcFile,
MP4TrackId srcTrackId,
MP4SampleId srcSampleId,
MP4FileHandle dstFile = MP4_INVALID_FILE_HANDLE,
MP4TrackId dstTrackId = MP4_INVALID_TRACK_ID,
MP4Duration dstSampleDuration = MP4_INVALID_DURATION
)
Upon success, the sample id of the new sample. Upon an error, MP4_INVALID_SAMPLE_ID.
MP4CopySample creates a new sample based on an existing sample. Note that another copy of the media sample data is created in the file using this function. I.e. this call is equivalent to MP4ReadSample() followed by MP4WriteSample().
Note that is the responsibility of the caller to ensure that the copied media sample makes sense in the destination track. E.g. copying a video sample to an audio track is unlikely to result in anything good happening, even copying a sample from video track to another requires that the tracks use the same encoding and that issues such as image size are addressed.
MP4(3) MP4ReadSample(3) MP4WriteSample(3)