#pragma once #include #include #include "filecryption.h" #define BOX_FTYP 0x66747970 #define MDAT_BOX 0x6D646174 #define MOOV_BOX 0x6D6F6F76 #define MVHD_BOX 0x6D766864 #define TRAK_BOX 0x7472616B #define IODS_BOX 0x696F6473 #define UDTA_BOX 0x75647461 #define FREE_BOX 0x66726565 #define TKHD_BOX 0x746B6864 #define MDIA_BOX 0x6D646961 #define MDHD_BOX 0x6D646864 #define HDLR_BOX 0x68646C72 #define MINF_BOX 0x6D696E66 #define DINF_BOX 0x64696E66 #define TREF_BOX 0x74726566 #define STBL_BOX 0x7374626C #define STSD_BOX 0x73747364 #define MP4S_BOX 0x6D703473 #define ESDS_BOX 0x65736473 #define STTS_BOX 0x73747473 #define STSC_BOX 0x73747363 #define STSZ_BOX 0x7374737A #define STCO_BOX 0x7374636F #define STSS_BOX 0x73747373 #define CTTS_BOX 0x63747473 #define EDTS_BOX 0x65647473 #define VMHD_BOX 0x766D6864 #define HMHD_BOX 0x686D6864 #define SMHD_BOX 0x736D6864 #define NMHD_BOX 0xffffffff #define ODSM 0x6F64736D #define SDSM 0x7364736D #define VIDE 0x76696465 #define HINT 0x68696E74 #define SOUN 0x736F756E typedef struct box_head_s{ unsigned int ibox_size; unsigned int box_type; }box_head_t; unsigned int get_noencrypt_boxs_size(FILE* pSrcFile, const filecryption_callback_t* pcallback, bool bgetmoov); bool is_mp4file_completed(const char* pSrcName, const filecryption_callback_t* pcallback);