54 lines
2.2 KiB
C
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
|