2026-04-12 17:47:54 +08:00

54 lines
2.2 KiB
C

/*
*******************************************************************************
* Copyright (c) 2010-2022 VATICS(KNERON) Inc. All rights reserved.
*
* +-----------------------------------------------------------------+
* | THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED |
* | AND COPIED IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF SUCH |
* | A LICENSE AND WITH THE INCLUSION OF THE THIS COPY RIGHT NOTICE. |
* | THIS SOFTWARE OR ANY OTHER COPIES OF THIS SOFTWARE MAY NOT BE |
* | PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. THE |
* | OWNERSHIP AND TITLE OF THIS SOFTWARE IS NOT TRANSFERRED. |
* | |
* | THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT |
* | ANY PRIOR NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY |
* | VATICS(KNERON) INC. |
* +-----------------------------------------------------------------+
*
*******************************************************************************
*/
#ifndef _MP4CONTAINER_H_
#define _MP4CONTAINER_H_
typedef struct {
char *szMP4File;
unsigned int dwVideoTrackNum;
unsigned char *ptVideoTrackBufInfo[2];
unsigned int dwAudioTrackNum;
unsigned char *ptAudioTrackBufInfo[2];
//Used by MP4v2
unsigned int dwFPS;
unsigned int dwDurationSec;
} MP4CreateOptions;
typedef struct MP4CHandle MP4CHandle;
#ifdef __cplusplus
extern "C" {
#endif
MP4CHandle *MP4C_Init(void);
void MP4C_Release(MP4CHandle *ptHandle);
int MP4C_CreateFile(MP4CHandle *ptHandle, const MP4CreateOptions *ptOption, unsigned int iMp4Version);
int MP4C_AddSample(MP4CHandle *ptHandle, unsigned int iMp4Version, unsigned int dwTrackID, unsigned char *pucData, unsigned int uiDataLem, unsigned int uiSecs, unsigned int uiUSecs, unsigned int uiIsKeyFrame);
int MP4C_CloseFile(MP4CHandle *ptHandle, unsigned int iMp4Version);
int MP4C_CommitData(MP4CHandle *ptHandle, unsigned int iMp4Version);
int MP4C_FlushCache(MP4CHandle *ptHandle);
int MP4C_CloseFileWithDuration(MP4CHandle *ptHandle, unsigned int iMp4Version, unsigned int uiDuration);
#ifdef __cplusplus
}
#endif
#endif