API. More...
Go to the source code of this file.
Classes | |
| struct | MP4MovieRecord |
| struct | MP4TrackRecord |
| struct | MP4MediaRecord |
| struct | MP4TrackReaderRecord |
| struct | MP4UserDataRecord |
| struct | MP4SLConfigRecord |
| struct | MP4GenericAtomRecord |
| struct | MP4SLConfigSettingsRecord |
| SL configuration settings record. More... | |
Macros | |
| #define | ISMACrypt |
| #define | GETMOOV(arg) |
| Get the MP4PrivateMovieRecordPtr moov. | |
| #define | GETMOVIEATOM(arg) |
| Get the MP4MovieAtomPtr movieAtom. | |
| #define | GETMOVIEHEADERATOM(arg) |
| Get the MP4MovieHeaderAtomPtr movieHeaderAtom. | |
| #define | GETIODATOM(arg) |
| Get the MP4ObjectDescriptorAtomPtr iodAtom. | |
| #define | ISMA_selective_encrypt 0x80 |
Typedefs | |
| typedef int | MP4Err |
| This is a typedef for function error codes. | |
| typedef enum sampleToGroupType_t | sampleToGroupType_t |
| Sample grouping types. | |
| typedef struct MP4MovieRecord | MP4MovieRecord |
| typedef MP4MovieRecord * | MP4Movie |
| This is an opaque handle that contains a reference to a movie. | |
| typedef struct MP4TrackRecord | MP4TrackRecord |
| typedef MP4TrackRecord * | MP4Track |
| This is an opaque handle that contains a reference to a track. | |
| typedef struct MP4MediaRecord | MP4MediaRecord |
| typedef MP4MediaRecord * | MP4Media |
| This is an opaque handle that contains a reference to media. | |
| typedef struct MP4TrackReaderRecord | MP4TrackReaderRecord |
| typedef MP4TrackReaderRecord * | MP4TrackReader |
| This is an opaque handle that contains a reference to a track reader. | |
| typedef struct MP4UserDataRecord | MP4UserDataRecord |
| typedef MP4UserDataRecord * | MP4UserData |
| An opaque handle that references user data. | |
| typedef struct MP4SLConfigRecord | MP4SLConfigRecord |
| typedef MP4SLConfigRecord * | MP4SLConfig |
| typedef struct MP4GenericAtomRecord | MP4GenericAtomRecord |
| typedef MP4GenericAtomRecord * | MP4GenericAtom |
| typedef char ** | MP4Handle |
| MP4Handle is used to pass sections of dynamically allocated memory to the API. | |
| typedef struct MP4SLConfigSettingsRecord | MP4SLConfigSettings |
| SL configuration settings record. | |
| typedef struct MP4SLConfigSettingsRecord * | MP4SLConfigSettingsPtr |
Enumerations | |
| enum | { MP4HasRootOD = 2 , MP4EOF = 1 , MP4NoErr = 0 , MP4FileNotFoundErr = -1 , MP4BadParamErr = -2 , MP4NoMemoryErr = -3 , MP4IOErr = -4 , MP4NoLargeAtomSupportErr = -5 , MP4BadDataErr = -6 , MP4VersionNotSupportedErr = -7 , MP4InvalidMediaErr = -8 , MP4InternalErr = -9 , MP4NotFoundErr = -10 , MP4DataEntryTypeNotSupportedErr = -100 , MP4NoQTAtomErr = -500 , MP4NotImplementedErr = -1000 } |
| Function error codes. More... | |
| enum | { MP4OpenMovieNormal = 0 , MP4OpenMovieDebug = (1 << 0) , MP4OpenMovieInPlace = (1 << 1) } |
| Modes used by MP4OpenMovieFile() More... | |
| enum | { MP4NewTrackIsVisual = (1 << 1) , MP4NewTrackIsAudio = (1 << 2) , MP4NewTrackIsMetadata = (1 << 3) , MP4NewTrackIsVolumetric = (1 << 4) , MP4NewTrackIsHaptic = (1 << 5) , MP4NewTrackIsMebx = (1 << 6) , MP4NewTrackIsPrivate = (1 << 8) } |
| Track flags. More... | |
| enum | { MP4KeyNamespace_uiso = MP4_FOUR_CHAR_CODE('u', 'i', 's', 'o') , MP4KeyNamespace_me4c = MP4_FOUR_CHAR_CODE('m', 'e', '4', 'c') , QTKeyNamespace_mdta = MP4_FOUR_CHAR_CODE('m', 'd', 't', 'a') , QTKeyNamespace_udta = MP4_FOUR_CHAR_CODE('u', 'd', 't', 'a') } |
| enum | { MP4ObjectDescriptorHandlerType = MP4_FOUR_CHAR_CODE('o', 'd', 's', 'm') , MP4ClockReferenceHandlerType = MP4_FOUR_CHAR_CODE('c', 'r', 's', 'm') , MP4SceneDescriptionHandlerType = MP4_FOUR_CHAR_CODE('s', 'd', 's', 'm') , MP4VisualHandlerType = MP4_FOUR_CHAR_CODE('v', 'i', 'd', 'e') , MP4AudioHandlerType = MP4_FOUR_CHAR_CODE('s', 'o', 'u', 'n') , MP4MPEG7HandlerType = MP4_FOUR_CHAR_CODE('m', '7', 's', 'm') , MP4OCIHandlerType = MP4_FOUR_CHAR_CODE('o', 'c', 's', 'm') , MP4IPMPHandlerType = MP4_FOUR_CHAR_CODE('i', 'p', 's', 'm') , MP4MPEGJHandlerType = MP4_FOUR_CHAR_CODE('m', 'j', 's', 'm') , MP4HintHandlerType = MP4_FOUR_CHAR_CODE('h', 'i', 'n', 't') , MP4TextHandlerType = MP4_FOUR_CHAR_CODE('t', 'e', 'x', 't') , MP7TextHandlerType = MP4_FOUR_CHAR_CODE('m', 'p', '7', 't') , MP7BinaryHandlerType = MP4_FOUR_CHAR_CODE('m', 'p', '7', 'b') , MP21HandlerType = MP4_FOUR_CHAR_CODE('m', 'p', '2', '1') , MP4NullHandlerType = MP4_FOUR_CHAR_CODE('n', 'u', 'l', 'l') , MP4MetaHandlerType = MP4_FOUR_CHAR_CODE('m', 'e', 't', 'a') , MP4VolumetricHandlerType = MP4_FOUR_CHAR_CODE('v', 'o', 'l', 'v') , MP4HapticHandlerType = MP4_FOUR_CHAR_CODE('h', 'a', 'p', 't') , ISOXMLAtomType = MP4_FOUR_CHAR_CODE('x', 'm', 'l', ' ') , ISOBinaryXMLAtomType = MP4_FOUR_CHAR_CODE('b', 'x', 'm', 'l') } |
| Handler types. | |
| enum | { MP4IPMP_NoControlPoint = 0x00 , MP4IPMP_DB_Decoder_ControlPoint = 0x01 , MP4IPMP_Decoder_CB_ControlPoint = 0x02 , MP4IPMP_CB_Compositor_ControlPoint = 0x03 , MP4IPMP_BIFSTree_ControlPoint = 0x04 } |
| enum | { is_leading_dependency = 0x40 , is_no_leading = 0x80 , is_leading_no_dependency = 0xC0 , does_depend_on = 0x10 , does_not_depend_on = 0x20 , is_depended_on = 0x4 , is_not_depended_on = 0x8 , has_redundancy = 1 , has_no_redundancy = 2 } |
| Sample dependency types. More... | |
| enum | sampleToGroupType_t { SAMPLE_GROUP_NORMAL = 0 , SAMPLE_GROUP_COMPACT , SAMPLE_GROUP_AUTO } |
| Sample grouping types. More... | |
| enum | { MP4HintTrackReferenceType = MP4_FOUR_CHAR_CODE('h', 'i', 'n', 't') , MP4StreamDependencyReferenceType = MP4_FOUR_CHAR_CODE('d', 'p', 'n', 'd') , MP4ODTrackReferenceType = MP4_FOUR_CHAR_CODE('m', 'p', 'o', 'd') , MP4SyncTrackReferenceType = MP4_FOUR_CHAR_CODE('s', 'y', 'n', 'c') , MP4DescTrackReferenceType = MP4_FOUR_CHAR_CODE('c', 'd', 's', 'c') } |
| Track reference types. More... | |
| enum | { MP4DataRefSelfReferenceMask = (1 << 0) } |
| Data reference attributes. More... | |
| enum | { MP4URLDataReferenceType = MP4_FOUR_CHAR_CODE('u', 'r', 'l', ' ') , MP4URNDataReferenceType = MP4_FOUR_CHAR_CODE('u', 'r', 'n', ' ') } |
| Data reference types. More... | |
| enum | { MP4NextTimeSearchForward = 0 , MP4NextTimeSearchBackward = -1 , MP4NextTimeMediaSample = (1 << 0) , MP4NextTimeMediaEdit = (1 << 1) , MP4NextTimeTrackEdit = (1 << 2) , MP4NextTimeSyncSample = (1 << 3) , MP4NextTimeEdgeOK = (1 << 4) } |
| Flags for NextInterestingTime. More... | |
| enum | { MP4MediaSampleNotSync = (1 << 0) , MP4MediaSampleHasCTSOffset = (1 << 1) } |
| flags for MP4GetMediaSample(), MP4GetIndMediaSampleWithPad(), MP4GetIndMediaSample() ... More... | |
Functions | |
| MP4Err | MP4NewHandle (u32 handleSize, MP4Handle *outHandle) |
| Creates a new handle, and allocates handleSize bytes for it. | |
| MP4Err | MP4SetHandleSize (MP4Handle theHandle, u32 handleSize) |
| Sets the logical size of the handle to requestedSize bytes. | |
| MP4Err | MP4DisposeHandle (MP4Handle theHandle) |
| Frees the memory that was allocated for a handle. | |
| MP4Err | MP4GetHandleSize (MP4Handle theHandle, u32 *outSize) |
| Use this to determine the present logical size (in bytes) of a handle. | |
| MP4Err | MP4HandleCat (MP4Handle theDstHandle, MP4Handle theSrcHandle) |
| Appends the data contained in theSrcHandle to data contained in theDstHandle by reallocating, if necessary, the number of bytes allocated for theDstHandle. | |
| MP4Err | MP4SetHandleOffset (MP4Handle theHandle, u32 offset) |
| Sets the handle so that subsequent de-references of it refer to the data starting at the given byte offset. | |
| MP4Err | MP4DisposeMovie (MP4Movie theMovie) |
| This function releases any resources owned by the Movie. | |
| MP4Err | MP4GetMovieDuration (MP4Movie theMovie, u64 *outDuration) |
| This calculates and returns the movie duration as recorded in the movie header. | |
| MP4Err | MP4GetMovieInitialObjectDescriptor (MP4Movie theMovie, MP4Handle outDescriptorH) |
| Retrieves the initial object descriptor from a Movie and places it into a Handle. | |
| MP4Err | MP4GetMovieInitialObjectDescriptorUsingSLConfig (MP4Movie theMovie, MP4SLConfig slconfig, MP4Handle outDescriptorH) |
| Retrieves the initial object descriptor from a Movie. | |
| MP4Err | MP4GetMovieIODInlineProfileFlag (MP4Movie theMovie, u8 *outFlag) |
| Queries the setting of includeInlineProfileLevelFlag from the movie's initial object descriptor. | |
| MP4Err | MP4GetMovieProfilesAndLevels (MP4Movie theMovie, u8 *outOD, u8 *outScene, u8 *outAudio, u8 *outVisual, u8 *outGraphics) |
| Use this to obtain the profiles and levels from a Movie's initial object descriptor. | |
| MP4Err | MP4GetMovieTimeScale (MP4Movie theMovie, u32 *outTimeScale) |
| Use this to obtain the time scale of a Movie. | |
| MP4Err | MP4GetMovieTrack (MP4Movie theMovie, u32 trackID, MP4Track *outTrack) |
| Use this to obtain a track given its track ID. | |
| MP4Err | MP4GetMovieUserData (MP4Movie theMovie, MP4UserData *outUserData) |
| Get the movie level user data 'udta'. | |
| MP4Err | MP4AddAtomToMovie (MP4Movie theMovie, MP4GenericAtom the_atom) |
| Adds the given atom to the movie. | |
| MP4Err | MP4NewMovie (MP4Movie *outMovie, u32 initialODID, u8 OD_profileAndLevel, u8 scene_profileAndLevel, u8 audio_profileAndLevel, u8 visual_profileAndLevel, u8 graphics_profileAndLevel) |
| Creates a new empty Movie in memory. | |
| MP4Err | MP4NewMovieFromHandle (MP4Movie *outMovie, MP4Handle movieH, u32 newMovieFlags) |
| Parses a movie ‘file’ in the handle and creates a Movie in memory from this file. | |
| MP4Err | NewMPEG21 (MP4Movie *outMovie) |
| Creates a new empty MPEG-21 ‘movie’ in memory. | |
| MP4Err | ISONewMetaMovie (MP4Movie *outMovie, u32 handlertype, u32 brand, u32 minorversion) |
| Like NewMPEG21() but allows you to specify the meta handlertype, and the major brand and minor version of that brand. | |
| MP4Err | MP4SetMovieIODInlineProfileFlag (MP4Movie theMovie, u8 theFlag) |
| Indicates that the given track is to be considered as the initial BIFS track. | |
| MP4Err | MP4SetMovieTimeScale (MP4Movie theMovie, u32 timeScale) |
| Sets the Movie’s time scale. | |
| MP4Err | MP4OpenMovieFile (MP4Movie *theMovie, const char *movieURL, int openMovieFlags) |
| Opens a movie file and creates a Movie in memory from this file. | |
| MP4Err | MP4PutMovieIntoHandle (MP4Movie theMovie, MP4Handle movieH) |
| Places the movie and its media samples into a handle. | |
| MP4Err | MP4WriteMovieToFile (MP4Movie theMovie, const char *filename) |
| See ISOWriteMovieToFile() | |
| MP4Err | MP4AddTrackReference (MP4Track theTrack, MP4Track dependsOn, u32 referenceType, u32 *outReferenceIndex) |
| Indicate that there exists a dependency between two tracks. | |
| MP4Err | MP4AddTrackReferenceWithID (MP4Track theTrack, u32 dependsOnID, u32 dependencyType, u32 *outReferenceIndex) |
| Indicate that there exists a dependency between two tracks. | |
| MP4Err | MP4AddSubSampleInformationToTrack (MP4Track theTrack, MP4GenericAtom *subs) |
| MP4Err | MP4SetSubSampleInformationFlags (MP4GenericAtom subsample, u32 flags) |
| MP4Err | MP4GetSubSampleInformationEntryFromTrack (MP4Track theTrack, u32 *flags, u32 *entry_count, u32 **sample_delta, u32 **subsample_count, u32 ***subsample_size_array, u32 ***subsample_priority_array, u32 ***subsample_discardable_array) |
| MP4Err | MP4AddSubSampleInformationEntry (MP4GenericAtom subsample, u32 sample_delta, u32 subsample_count, MP4Handle subsample_size_array, MP4Handle subsample_priority_array, MP4Handle subsample_discardable_array) |
| MP4Err | MP4AddSubSampleInformationEntry2 (MP4GenericAtom subsample, u32 sample_delta, u32 subsample_count, MP4Handle subsample_size_array, MP4Handle subsample_priority_array, MP4Handle subsample_discardable_array, MP4Handle codec_specific_parameters_array) |
| Same as MP4AddSubSampleInformationEntry but also allows to add the codec specific parameters. | |
| MP4Err | MP4AddTrackGroup (MP4Track theTrack, u32 groupID, u32 dependencyType) |
| Add track to a track group ID. | |
| MP4Err | MP4AddTrackToMovieIOD (MP4Track theTrack) |
| Add track's ES_Descriptor to its movie's initial object descriptor. | |
| MP4Err | MP4GetMovieIndTrack (MP4Movie theMovie, u32 trackIndex, MP4Track *outTrack) |
| Get track using the track index. | |
| MP4Err | MP4GetMovieIndTrackSampleEntryType (MP4Movie theMovie, u32 idx, u32 *SEType) |
| Get sample entry type of a track. | |
| MP4Err | MP4GetMovieTrackCount (MP4Movie theMovie, u32 *outTrackCount) |
| This function allows you to determine the number of Tracks in a Movie. | |
| MP4Err | MP4GetTrackDuration (MP4Track theTrack, u64 *outDuration) |
| Calculates and returns the duration of the track. | |
| MP4Err | MP4GetTrackEnabled (MP4Track theTrack, u32 *outEnabled) |
| This returns a non-zero value in outEnabled if the track is enabled. | |
| MP4Err | MP4GetTrackID (MP4Track theTrack, u32 *outTrackID) |
| Get the elementary stream ID for a given Track. | |
| MP4Err | MP4GetTrackMedia (MP4Track theTrack, MP4Media *outMedia) |
| Returns the Media for a given Track. | |
| MP4Err | MP4GetTrackMovie (MP4Track theTrack, MP4Movie *outMovie) |
| Get the Movie associated with a Track. | |
| MP4Err | MP4GetTrackOffset (MP4Track track, u32 *outMovieOffsetTime) |
| Get the track's offset (the length of its initial empty edit). | |
| MP4Err | MP4GetTrackReference (MP4Track theTrack, u32 referenceType, u32 referenceIndex, MP4Track *outReferencedTrack) |
| Obtain a specific track reference of the specified type. | |
| MP4Err | MP4GetTrackReferenceCount (MP4Track theTrack, u32 referenceType, u32 *outReferenceCount) |
| Determine the number of a particular type of track references that are contained in a track. | |
| MP4Err | MP4GetTrackGroup (MP4Track theTrack, u32 groupType, u32 *outGroupId) |
| Get the track group of a track. | |
| MP4Err | MP4GetTrackUserData (MP4Track theTrack, MP4UserData *outUserData) |
| Get the track level user data 'udta'. | |
| MP4Err | MP4AddAtomToTrack (MP4Track theTrack, MP4GenericAtom the_atom) |
| Adds the given atom to the track. | |
| MP4Err | MP4InsertMediaIntoTrack (MP4Track trak, s32 trackStartTime, s32 mediaStartTime, u64 segmentDuration, s32 mediaRate) |
| Adds a reference to the specified segment of media into a Track. | |
| MP4Err | MP4NewMovieTrack (MP4Movie theMovie, u32 newTrackFlags, MP4Track *outTrack) |
| Creates a new track for the movie. | |
| MP4Err | MP4NewMovieTrackWithID (MP4Movie theMovie, u32 newTrackFlags, u32 newTrackID, MP4Track *outTrack) |
| Creates a new track for the movie with a specified track ID. | |
| MP4Err | MP4NewTrackMedia (MP4Track theTrack, MP4Media *outMedia, u32 handlerType, u32 timeScale, MP4Handle dataReference) |
| Creates the media container for a track. | |
| MP4Err | MP4SetTrackEnabled (MP4Track theTrack, u32 enabled) |
| Enables or disables the track. | |
| MP4Err | MP4SetTrackOffset (MP4Track track, u32 movieOffsetTime) |
| Modifies the duration of the empty space that lies at the beginning of the track, thus changing the duration of the entire track. | |
| MP4Err | MP4TrackTimeToMediaTime (MP4Track theTrack, u64 inTrackTime, s64 *outMediaTime) |
| Convert from a time expressed in the movie time scale to a time expressed in the media time scale. | |
| MP4Err | MP4AddMediaDataReference (MP4Media theMedia, u32 *outReferenceIndex, MP4Handle urlHandle, MP4Handle urnHandle) |
| Use this to add a data reference to a media container. | |
| MP4Err | MP4AddMediaSampleReference (MP4Media media, u64 dataOffset, u32 sampleCount, MP4Handle durationsH, MP4Handle sizesH, MP4Handle sampleEntryH, MP4Handle decodingOffsetsH, MP4Handle syncSamplesH) |
| Use this function to add samples to a media by reference. | |
| MP4Err | MP4AddMediaSamples (MP4Media media, MP4Handle sampleH, u32 sampleCount, MP4Handle durationsH, MP4Handle sizesH, MP4Handle sampleEntryH, MP4Handle decodingOffsetsH, MP4Handle syncSamplesH) |
| Use this function to samples to the media. | |
| MP4Err | MP4AddMediaSampleReferencePad (MP4Media media, u64 dataOffset, u32 sampleCount, MP4Handle durationsH, MP4Handle sizesH, MP4Handle sampleEntryH, MP4Handle decodingOffsetsH, MP4Handle syncSamplesH, MP4Handle padsH) |
| Add media samples by reference with padding bits. | |
| MP4Err | MP4AddMediaSamplesPad (MP4Media media, MP4Handle sampleH, u32 sampleCount, MP4Handle durationsH, MP4Handle sizesH, MP4Handle sampleEntryH, MP4Handle decodingOffsetsH, MP4Handle syncSamplesH, MP4Handle padsH) |
| Add media samples with padding bits. | |
| MP4Err | ISOAddGroupDescription (MP4Media media, u32 groupType, MP4Handle description, u32 *index) |
| Adds a Sample Group Description to the indicated media. | |
| MP4Err | ISOGetGroupDescription (MP4Media media, u32 groupType, u32 index, MP4Handle description) |
| Returns in the handle ‘description’ the group description associated with the given group index of the given group type. | |
| MP4Err | ISOGetGroupDescriptionEntryCount (MP4Media media, u32 groupType, u32 *outEntryCount) |
| Returns the entry_count of the desired SampleGroupDescriptionBox of the given type. | |
| MP4Err | ISOSetSamplestoGroupType (MP4Media media, sampleToGroupType_t sampleToGroupType) |
| Set the SampleToGroup mapping type. | |
| MP4Err | ISOMapSamplestoGroup (MP4Media media, u32 groupType, u32 group_index, s32 sample_index, u32 count) |
| Maps a set of samples to a group of a given type. | |
| MP4Err | ISOGetSampletoGroupMap (MP4Media media, u32 groupType, u32 sample_number, u32 *group_index) |
| Returns in group_index the group index associated with the given sample number of the given group type. | |
| MP4Err | ISOGetSampleGroupSampleNumbers (MP4Media media, u32 groupType, u32 group_index, u32 **outSampleNubers, u32 *outSampleCnt) |
| Get all sample numbers associated with the given group type and index of the description. | |
| MP4Err | ISOSetSampleDependency (MP4Media media, s32 sample_index, MP4Handle dependencies) |
| Sets the sample dependency of a set of samples, after having added the samples. | |
| MP4Err | ISOGetSampleDependency (MP4Media media, s32 sample_index, u8 *dependency) |
| Returns in dependency the sample dependency associated with the given sample number. | |
| MP4Err | MP4BeginMediaEdits (MP4Media theMedia) |
| Use this function to prepare the media before adding samples. | |
| MP4Err | MP4CheckMediaDataReferences (MP4Media theMedia) |
| Tests all data references in the media to ensure that the references exist and are readable. | |
| MP4Err | MP4EndMediaEdits (MP4Media theMedia) |
| Call this function when you have finished adding samples to the media. | |
| MP4Err | MP4GetIndMediaSampleWithPad (MP4Media theMedia, u32 sampleNumber, MP4Handle outSample, u32 *outSize, u64 *outDTS, s32 *outCTSOffset, u64 *outDuration, u32 *outSampleFlags, u32 *outSampleDescIndex, u8 *outPad) |
| Returns a sample with padding bits from the media, given the sample's index. | |
| MP4Err | MP4GetIndMediaSample (MP4Media theMedia, u32 sampleNumber, MP4Handle outSample, u32 *outSize, u64 *outDTS, s32 *outCTSOffset, u64 *outDuration, u32 *outSampleFlags, u32 *outSampleDescIndex) |
| Returns a sample from the media, given the sample's index. | |
| MP4Err | MP4GetIndMediaSampleReference (MP4Media theMedia, u32 sampleNumber, u32 *outOffset, u32 *outSize, u32 *outDuration, u32 *outSampleFlags, u32 *outSampleDescIndex, MP4Handle sampleDesc) |
| Returns a reference (offset and size) for the sample from the media, given the sample's index. | |
| MP4Err | MP4GetMediaDataRefCount (MP4Media theMedia, u32 *outCount) |
| Returns the number of data references. | |
| MP4Err | MP4UseSignedCompositionTimeOffsets (MP4Media media) |
| Sets the version of the MP4CompositionOffsetAtom to 1. | |
| MP4Err | MP4GetMediaDataReference (MP4Media theMedia, u32 index, MP4Handle referenceURL, MP4Handle referenceURN, u32 *outReferenceType, u32 *outReferenceAttributes) |
| Use this to get information about a specific data reference to a media container. | |
| MP4Err | MP4GetMediaDuration (MP4Media theMedia, u64 *outDuration) |
| Get the total duration of the media, expressed in the media’s time scale. | |
| MP4Err | MP4GetMediaHandlerDescription (MP4Media theMedia, u32 *outType, MP4Handle *outName) |
| This function can be used to obtain the media type. | |
| MP4Err | MP4GetMediaLanguage (MP4Media theMedia, char *outThreeCharCode) |
| Returns the ISO 639-2/T three character language code associated with the media. | |
| MP4Err | MP4GetMediaExtendedLanguageTag (MP4Media theMedia, char **extended_language) |
| Returns the extended language, based on RFC 4646 (Best Common Practices – BCP – 47) industry standard. | |
| MP4Err | MP4GetMediaNextInterestingTime (MP4Media theMedia, u32 interestingTimeFlags, u64 searchFromTime, u32 searchDirection, u64 *outInterestingTime, u64 *outInterestingDuration) |
| Search for interesging time. | |
| MP4Err | MP4GetMediaSample (MP4Media theMedia, MP4Handle outSample, u32 *outSize, u64 desiredDecodingTime, u64 *outDecodingTime, u64 *outCompositionTime, u64 *outDuration, MP4Handle outSampleDescription, u32 *outSampleDescriptionIndex, u32 *outSampleFlags) |
| Returns a closest sample from the media, given the desired decoding time. | |
| MP4Err | MP4GetMediaSampleWithPad (MP4Media theMedia, MP4Handle outSample, u32 *outSize, u64 desiredDecodingTime, u64 *outDecodingTime, u64 *outCompositionTime, u64 *outDuration, MP4Handle outSampleDescription, u32 *outSampleDescriptionIndex, u32 *outSampleFlags, u8 *outPad) |
| Returns a closest sample with padding bits, given the desired decoding time. | |
| MP4Err | MP4GetMediaSampleCount (MP4Media theMedia, u32 *outCount) |
| Use this to determine the total number of samples contained in the media. | |
| MP4Err | MP4GetMediaSampleDescription (MP4Media theMedia, u32 index, MP4Handle outDescriptionH, u32 *outDataReferenceIndex) |
| This returns the sample description at the given index, with the data reference index that is associated with it. | |
| MP4Err | MP4GetMediaTimeScale (MP4Media theMedia, u32 *outTimeScale) |
| Returns the time scale associated with the media. | |
| MP4Err | MP4GetMediaTrack (MP4Media theMedia, MP4Track *outTrack) |
| Returns the track that is associated with this media. | |
| MP4Err | MP4MediaTimeToSampleNum (MP4Media theMedia, u64 mediaTime, u32 *outSampleNum, u64 *outSampleCTS, u64 *outSampleDTS, s32 *outSampleDuration) |
| Use this to obtain the sample number for a sample with the given decoding time. | |
| MP4Err | MP4SampleNumToMediaTime (MP4Media theMedia, u32 sampleNum, u64 *outSampleCTS, u64 *outSampleDTS, s32 *outSampleDuration) |
| Use this to obtain the decoding and composition times for a particular media sample. | |
| MP4Err | MP4SetMediaLanguage (MP4Media theMedia, char *threeCharCode) |
| Use this to indicate the ISO 639-2/T three character language code that is to be associated with the media. | |
| MP4Err | MP4SetMediaExtendedLanguageTag (MP4Media theMedia, char *extended_language) |
| The extended language tag box represents media language information, based on RFC 4646 (Best Common Practices – BCP – 47) industry standard. | |
| MP4Err | ISOSetSampleSizeField (MP4Media theMedia, u32 fieldsize) |
| Use this to set the size of samplesize entries in the sample size table. | |
| MP4Err | MP4GetElementaryStreamPacket (MP4Media theMedia, MP4Handle outSample, u32 *outSize, u32 sequenceNumber, u64 desiredTime, u64 *outActualTime, u64 *outDuration) |
| MP4Err | MP4GetMediaDecoderConfig (MP4Media theMedia, u32 sampleDescIndex, MP4Handle decoderConfigH) |
| Use this to obtain the decoder configuration descriptor for a given sample description. | |
| MP4Err | MP4GetMediaDecoderInformation (MP4Media theMedia, u32 sampleDescIndex, u32 *outObjectType, u32 *outStreamType, u32 *outBufferSize, u32 *outUpstream, u32 *outMaxBitrate, u32 *outAvgBitrate, MP4Handle specificInfoH) |
| Obtain the complete decoder configuration and specific info without having to parse the decoder config descriptor. | |
| MP4Err | MP4GetMediaDecoderType (MP4Media theMedia, u32 sampleDescIndex, u32 *outObjectType, u32 *outStreamType, u32 *outBufferSize, MP4Handle specificInfoH) |
| Use this to obtain the decoder configuration and specific info without having to parse the decoder config descriptor. | |
| MP4Err | MP4NewSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 objectTypeIndication, u32 streamType, u32 decoderBufferSize, u32 maxBitrate, u32 avgBitrate, MP4Handle decoderSpecificInfoH) |
| Create a basic sample description that can be used for calls to MP4AddMediaSamples(). | |
| MP4Err | MP4NewSampleDescriptionWithOCRAssociation (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 objectTypeIndication, u32 streamType, u32 decoderBufferSize, u32 maxBitrate, u32 avgBitrate, MP4Handle decoderSpecificInfoH, u32 theOCRESID) |
| Create a sample description with clock reference. | |
| MP4Err | ISONewGeneralSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 sampleEntryType, MP4GenericAtom extensionAtom) |
| Create a basic sample description that can be used for calls to MP4AddMediaSamples(). | |
| MP4Err | ISOAddAtomToSampleDescription (MP4Handle sampleEntryH, MP4GenericAtom extensionAtom) |
| Add an arbitrary atom to a sample entry (description). | |
| MP4Err | ISOGetAtomFromSampleDescription (MP4Handle sampleEntryH, u32 atomType, MP4GenericAtom *outAtom) |
| Find the atom of the given type and return it. | |
| MP4Err | ISONewXMLMetaDataSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, char *content_encoding, char *xml_namespace, char *schema_location) |
| Make a sample description for a timed XML meta-data track. | |
| MP4Err | ISONewTextMetaDataSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, char *content_encoding, char *mime_format) |
| Make a sample description for a timed text meta-data track. | |
| MP4Err | MP4CreateTrackReader (MP4Track theTrack, MP4TrackReader *outReader) |
| Create a track reader for a movie track. | |
| MP4Err | MP4SetMebxTrackReader (MP4TrackReader theReader, u32 local_key) |
| Select local_key for reading. | |
| MP4Err | MP4DisposeTrackReader (MP4TrackReader theReader) |
| Frees up resources associated with a track reader. | |
| MP4Err | MP4TrackReaderGetCurrentDecoderConfig (MP4TrackReader theReader, MP4Handle decoderConfigH) |
| Places the appropriate decoder config descriptor into the handle provided. | |
| MP4Err | MP4TrackReaderGetCurrentSampleDescription (MP4TrackReader theReader, MP4Handle sampleEntryH) |
| Get the sample description associated with the current read-point. | |
| MP4Err | MP4TrackReaderGetCurrentSampleDescriptionIndex (MP4TrackReader theReader, u32 *index) |
| Get the index of the current sample description. | |
| MP4Err | MP4TrackReaderGetNextAccessUnit (MP4TrackReader theReader, MP4Handle outAccessUnit, u32 *outSize, u32 *outSampleFlags, s32 *outCTS, s32 *outDTS) |
| Use this to get the next access unit (MPEG-4), or sample, from the track. | |
| MP4Err | MP4TrackReaderGetNextAccessUnitWithDuration (MP4TrackReader theReader, MP4Handle outAccessUnit, u32 *outSize, u32 *outSampleFlags, s32 *outCTS, s32 *outDTS, u32 *outDuration) |
| Get the next access unit (MPEG-4), or sample, from the track with duration of the sample. | |
| MP4Err | MP4TrackReaderGetNextAccessUnitWithPad (MP4TrackReader theReader, MP4Handle outAccessUnit, u32 *outSize, u32 *outSampleFlags, s32 *outCTS, s32 *outDTS, u8 *outPad) |
| Get the next access unit, or sample, from the track with the padding bits for the sample. | |
| MP4Err | MP4TrackReaderGetNextPacket (MP4TrackReader theReader, MP4Handle outPacket, u32 *outSize) |
| Use this to read the next SL-packet from the track. | |
| MP4Err | MP4TrackReaderSetSLConfig (MP4TrackReader theReader, MP4SLConfig slConfig) |
| Set the SLConfig of the trackreader. | |
| MP4Err | MP4TrackReaderGetCurrentSampleNumber (MP4TrackReader theReader, u32 *sampleNumber) |
| Get the sample number of the last returned access unit. | |
| MP4Err | MP4SetupSampleAuxiliaryInformation (MP4Media theMedia, u8 isUsingAuxInfoPropertiesFlag, u32 aux_info_type, u32 aux_info_type_parameter, u8 default_sample_info_size) |
| Setup and initialize sample auxiliary information for a track. | |
| MP4Err | MP4AddSampleAuxiliaryInformation (MP4Media theMedia, u8 isUsingAuxInfoPropertiesFlag, u32 aux_info_type, u32 aux_info_type_parameter, MP4Handle dataH, u32 sampleCount, MP4Handle sizesH) |
| Add sample auxiliary information data for a range of samples. | |
| MP4Err | MP4GetSampleAuxiliaryInformation (MP4Media theMedia, u32 *outCount, MP4Handle isUsingAuxInfoPropertiesFlags, MP4Handle aux_info_types, MP4Handle aux_info_type_parameters) |
| Get information about all sample auxiliary information for a track. | |
| MP4Err | MP4GetSampleAuxiliaryInformationForSample (MP4Media theMedia, u8 isUsingAuxInfoPropertiesFlag, u32 aux_info_type, u32 aux_info_type_parameter, u32 sampleNr, MP4Handle outDataH, u32 *outSize) |
| Get the sample auxiliary information data for a specific sample and type. | |
| MP4Err | MP4AddUserData (MP4UserData theUserData, MP4Handle dataH, u32 userDataType, u32 *outIndex) |
| Adds an entry to the user data list. | |
| MP4Err | MP4GetIndUserDataType (MP4UserData theUserData, u32 typeIndex, u32 *outType) |
| Queries an indexed type of user data in the user data list. | |
| MP4Err | MP4GetUserDataEntryCount (MP4UserData theUserData, u32 userDataType, u32 *outCount) |
| Returns the count of user data atoms of the specified type. | |
| MP4Err | MP4GetUserDataItem (MP4UserData theUserData, MP4Handle dataH, u32 userDataType, u32 itemIndex) |
| Returns the contents of the requested user data item. | |
| MP4Err | MP4GetAtomFromUserData (MP4UserData theUserData, MP4GenericAtom *outAtom, u32 userDataType, u32 itemIndex) |
| Returns the contents of the requested user data item. | |
| MP4Err | MP4GetUserDataTypeCount (MP4UserData theUserData, u32 *outCount) |
| Returns the count of user data types. | |
| MP4Err | MP4DeleteUserDataItem (MP4UserData theUserData, u32 userDataType, u32 itemIndex) |
| Deletes a user-data item, by index. | |
| MP4Err | MP4NewUserData (MP4UserData *outUserData) |
| Creates a new user data list. | |
| MP4Err | MP4NewForeignAtom (MP4GenericAtom *outAtom, u32 atomType, MP4Handle atomPayload) |
| Construct a new custom atom object. | |
| MP4Err | MP4NewUUIDAtom (MP4GenericAtom *outAtom, u8 the_uuid[16], MP4Handle atomPayload) |
| Construct a new custom atom object with UUID type. | |
| MP4Err | MP4GetForeignAtom (MP4GenericAtom atom, u32 *atomType, u8 the_uuid[16], MP4Handle atomPayload) |
| Returns the type and contents of the given foreign atom, and, if it is a UUID atom, its UUID also. | |
| MP4Err | MP4NewSLConfig (MP4SLConfigSettingsPtr settings, MP4SLConfig *outSLConfig) |
| Create new SLConfig object. | |
| MP4Err | MP4GetSLConfigSettings (MP4SLConfig config, MP4SLConfigSettingsPtr outSettings) |
| Get settings from SLConfig object. | |
| MP4Err | MP4SetSLConfigSettings (MP4SLConfig config, MP4SLConfigSettingsPtr settings) |
| Set settings of SLConfig object. | |
| MP4Err | MP4NewMovieExt (MP4Movie *outMovie, u32 initialODID, u8 OD_profileAndLevel, u8 scene_profileAndLevel, u8 audio_profileAndLevel, u8 visual_profileAndLevel, u8 graphics_profileAndLevel, char *url, u8 IsExchangeFile) |
| MP4Err | MP4SetSampleDescriptionPriority (MP4Handle sampleEntryH, u32 priority) |
| This function sets the MPEG-4 elementary stream priority of the associated stream (in the elementary stream descriptor). | |
| MP4Err | MP4AddDescToSampleDescription (MP4Handle sampleEntryH, MP4Handle descriptorH) |
| Can be used to add an IPMP Descriptor Pointer into an existing sampleDescription. | |
| MP4Err | MP4AddDescToMovieIOD (MP4Movie theMovie, MP4Handle descriptorH) |
| Adds a descriptor to the movie IOD. | |
| MP4Err | MP4CheckMediaDataRef (MP4Media theMedia, u32 dataEntryIndex) |
| Tests a specific data reference in the media to ensure that the reference exists and is readable. | |
| MP4Err | ISOSetSampleDescriptionDimensions (MP4Handle sampleEntryH, u16 width, u16 height) |
| This function sets the visual width and height of a sample description. | |
| MP4Err | ISOSetSampleDescriptionType (MP4Handle sampleEntryH, u32 type) |
| (Re)set the type of a sample description. | |
| MP4Err | ISOGetSampleDescriptionDimensions (MP4Handle sampleEntryH, u16 *width, u16 *height) |
| This function gets the visual width and height of a sample description. | |
| MP4Err | ISOGetSampleDescriptionType (MP4Handle sampleEntryH, u32 *type) |
| This function returns the type of a sample description. | |
| MP4Err | ISOStartMovieFragment (MP4Movie theMovie) |
| This starts a new movie fragment. | |
| MP4Err | ISOAddDelayToTrackFragmentDecodeTime (MP4Movie theMovie, u32 delay) |
| Add delay to track fragment decode time. | |
| MP4Err | ISOSetTrackFragmentDefaults (MP4Track theTrack, u32 duration, u32 size, u32 is_sync, u8 pad) |
| Sets the default sample duration, size, sync-flag, and padding bits for samples added into movie fragments, for this track. | |
| MP4Err | ISOSetCompositonToDecodePropertiesForFragments (MP4Movie theMovie, u32 trackID, s32 compositionToDTSShift, s32 leastDecodeToDisplayDelta, s32 greatestDecodeToDisplayDelta, s32 compositionStartTime, s32 compositionEndTime) |
| Sets the compositon to decode parameters for a specific track. | |
| MP4Err | MP4NewIPMPTool (MP4Handle ipmpToolH, u64 ipmpToolIdLowerPart, u64 ipmpToolIdUpperPart, MP4Handle altGroupInfoH, MP4Handle parametricInfoH) |
| Creates a new IPMPTool structure. | |
| MP4Err | MP4AddUrlToIPMPTool (MP4Handle ipmpToolH, MP4Handle urlH) |
| Add a URL from which one or more tools specified in IPMPTool can be downloaded. | |
| MP4Err | MP4NewIPMPToolListDescriptor (MP4Handle ipmpToolListDescrH) |
| Creates a new IPMPToolListDescriptor. | |
| MP4Err | MP4AddToolToIPMPToolList (MP4Handle ipmpToolListDescrH, MP4Handle ipmpToolH) |
| Description TBD. | |
| MP4Err | MP4NewIPMPDescriptorPointer (MP4Handle ipmpDescPtrH, u8 ipmpDescriptorId, u16 ipmpToolDescrId) |
| Creates a new IPMPDescriptorPointer. | |
| MP4Err | MP4NewIPMPToolDescriptor (MP4Handle ipmpToolDescH, u16 ipmpToolDescrId, u64 ipmpToolIdLowerPart, u64 ipmpToolIdUpperPart, MP4Handle ipmpInitializeH) |
| Creates a new IPMP Tool Descriptor. | |
| MP4Err | MP4NewIPMPInitialize (MP4Handle ipmpInitializeH, u8 controlPoint, u8 sequenceCode) |
| Creates a new IPMPInitialize structure. | |
| MP4Err | MP4AddIPMPDataToIPMPInitialize (MP4Handle ipmpInitializeH, MP4Handle ipmpDataH) |
| Adds IPMP data to the IPMPInitialize structure. | |
| MP4Err | MP4AddIPMPDataToIPMPToolDescriptor (MP4Handle ipmpToolDescrH, MP4Handle ipmpDataH) |
| Adds IPMP data to an IPMP Tool Descriptor. | |
| MP4Err | MP4NewIPMPToolDescriptorUpdate (MP4Handle ipmpToolDescrUpdateH) |
| Creates a new IPMPToolDescriptorUpdate command. | |
| MP4Err | MP4AddIPMPToolDescriptorToUpdate (MP4Handle ipmpToolDescrUpdateH, MP4Handle ipmpToolDescrH) |
| Adds an IPMP Tool Descriptor to IPMPToolDescriptorUpdate command. | |
| MP4Err | ISMATransformSampleEntry (u32 newTrackFlags, MP4Handle insampleEntryH, u8 selective_encryption, u8 key_indicator_length, u8 IV_length, char *kms_URL, MP4Handle outsampleEntryH) |
| ‘Transforms’ a sample entry into the format expected by ISMA for a sample entry for protected (encrypted) content. | |
| MP4Err | ISMAUnTransformSampleEntry (MP4Handle insampleEntryH, u8 *selective_encryption, u8 *key_indicator_length, u8 *IV_length, char **kms_URL, MP4Handle outsampleEntryH) |
| ‘Untransforms’ a sample entry, from the encrypted form to the standard form. | |
| MP4Err | ISMATransformSampleEntrySalt (u32 newTrackFlags, MP4Handle insampleEntryH, u8 selective_encryption, u8 key_indicator_length, u8 IV_length, char *kms_URL, u64 salt, MP4Handle outsampleEntryH) |
| ‘Transforms’ a sample entry into the format expected by ISMA for a sample entry for protected (encrypted) content. | |
| MP4Err | ISMAUnTransformSampleEntrySalt (MP4Handle insampleEntryH, u8 *selective_encryption, u8 *key_indicator_length, u8 *IV_length, char **kms_URL, u64 *salt, MP4Handle outsampleEntryH) |
| ‘Untransforms’ a sample entry, from the encrypted form to the standard form. | |
| MP4Err | MP4GetTrackEditlistEntryCount (MP4Track theTrack, u32 *entryCount) |
| This returns the number of existent Edit list entries. | |
| MP4Err | MP4GetTrackEditlist (MP4Track theTrack, u64 *outSegmentDuration, s64 *outMediaTime, u32 entryIndex) |
| This returns a non-zero value in outSegmentDuration and outMediaTime if the Edit list information is present and valid. | |
API.