⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isomedia_dev.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
📖 第 1 页 / 共 5 页
字号:
{	GF_ISMO_BASE_DTE_ENTRY	u8 dataLength;	char data[14];} GF_ImmediateDTE;typedef struct{	GF_ISMO_BASE_DTE_ENTRY	s8 trackRefIndex;	u32 sampleNumber;	u16 dataLength;	u32 byteOffset;	u16 bytesPerComp;	u16 samplesPerComp;} GF_SampleDTE;typedef struct{	GF_ISMO_BASE_DTE_ENTRY	s8 trackRefIndex;	u32 streamDescIndex;	u16 dataLength;	u32 byteOffset;	u32 reserved;} GF_StreamDescDTE;GF_GenericDTE *NewDTE(u8 type);void DelDTE(GF_GenericDTE *dte);GF_Err ReadDTE(GF_GenericDTE *dte, GF_BitStream *bs);GF_Err WriteDTE(GF_GenericDTE *dte, GF_BitStream *bs);GF_Err OffsetDTE(GF_GenericDTE *dte, u32 offset, u32 HintSampleNumber);/*****************************************************		RTP Sample*****************************************************//*data cache when reading*/typedef struct __tag_hint_data_cache{	GF_ISOSample *samp;	GF_TrackBox *trak;	u32 sample_num;} GF_HintDataCache;typedef struct __tag_hint_sample{	/*used internally for future protocol support (write only)*/	u8 HintType;	/*QT packets*/	u16 reserved;	GF_List *packetTable;	char *AdditionalData;	u32 dataLength;	/*used internally for hinting*/	u64 TransmissionTime;	/*for read only, used to store samples fetched while building packets*/	GF_List *sample_cache;} GF_HintSample;GF_HintSample *gf_isom_hint_sample_new(u32 ProtocolType);void gf_isom_hint_sample_del(GF_HintSample *ptr);GF_Err gf_isom_hint_sample_read(GF_HintSample *ptr, GF_BitStream *bs, u32 sampleSize);GF_Err gf_isom_hint_sample_write(GF_HintSample *ptr, GF_BitStream *bs);u32 gf_isom_hint_sample_size(GF_HintSample *ptr);/*****************************************************		Hint Packets (generic packet for future protocol support)*****************************************************/#define GF_ISOM_BASE_PACKET			\	s32 relativeTransTime;typedef struct{	GF_ISOM_BASE_PACKET} GF_HintPacket;GF_HintPacket *gf_isom_hint_pck_new(u8 HintType);void gf_isom_hint_pck_del(u8 HintType, GF_HintPacket *ptr);GF_Err gf_isom_hint_pck_read(u8 HintType, GF_HintPacket *ptr, GF_BitStream *bs);GF_Err gf_isom_hint_pck_write(u8 HintType, GF_HintPacket *ptr, GF_BitStream *bs);u32 gf_isom_hint_pck_size(u8 HintType, GF_HintPacket *ptr);GF_Err gf_isom_hint_pck_offset(u8 HintType, GF_HintPacket *ptr, u32 offset, u32 HintSampleNumber);GF_Err gf_isom_hint_pck_add_dte(u8 HintType, GF_HintPacket *ptr, GF_GenericDTE *dte, u8 AtBegin);/*get the size of the packet AS RECONSTRUCTED BY THE SERVER (without CSRC)*/u32 gf_isom_hint_pck_length(u8 HintType, GF_HintPacket *ptr);/*the RTP packet*/typedef struct{	GF_ISOM_BASE_PACKET			/*RTP Header*/	u8 P_bit;	u8 X_bit;	u8 M_bit;	/*on 7 bits */	u8 payloadType;	u16 SequenceNumber;	/*Hinting flags*/	u8 B_bit;	u8 R_bit;	/*ExtraInfos TLVs - not really used */	GF_List *TLV;	/*DataTable - contains the DTEs...*/	GF_List *DataTable;} GF_RTPPacket;GF_RTPPacket *gf_isom_hint_rtp_new();void gf_isom_hint_rtp_del(GF_RTPPacket *ptr);GF_Err gf_isom_hint_rtp_read(GF_RTPPacket *ptr, GF_BitStream *bs);GF_Err gf_isom_hint_rtp_write(GF_RTPPacket *ptr, GF_BitStream *bs);u32 gf_isom_hint_rtp_size(GF_RTPPacket *ptr);GF_Err gf_isom_hint_rtp_offset(GF_RTPPacket *ptr, u32 offset, u32 HintSampleNumber);u32 gf_isom_hint_rtp_length(GF_RTPPacket *ptr);struct _3gpp_text_sample {	char *text;	u32 len;		GF_TextStyleBox *styles;	/*at most one of these*/	GF_TextHighlightColorBox *highlight_color;	GF_TextScrollDelayBox *scroll_delay;	GF_TextBoxBox *box;	GF_TextWrapBox *wrap;	GF_List *others;	GF_TextKaraokeBox *cur_karaoke;};GF_TextSample *gf_isom_parse_texte_sample(GF_BitStream *bs);GF_TextSample *gf_isom_parse_texte_sample_from_data(char *data, u32 dataLength);/*	these are exported just in case, there should never be needed outside the lib*/GF_Box *reftype_New();GF_Box *free_New();GF_Box *mdat_New();GF_Box *moov_New();GF_Box *mvhd_New();GF_Box *mdhd_New();GF_Box *vmhd_New();GF_Box *smhd_New();GF_Box *hmhd_New();GF_Box *nmhd_New();GF_Box *stbl_New();GF_Box *dinf_New();GF_Box *url_New();GF_Box *urn_New();GF_Box *cprt_New();GF_Box *chpl_New();GF_Box *hdlr_New();GF_Box *iods_New();GF_Box *trak_New();GF_Box *mp4s_New();GF_Box *mp4v_New();GF_Box *mp4a_New();GF_Box *edts_New();GF_Box *udta_New();GF_Box *dref_New();GF_Box *stsd_New();GF_Box *stts_New();GF_Box *ctts_New();GF_Box *stsh_New();GF_Box *elst_New();GF_Box *stsc_New();GF_Box *stsz_New();GF_Box *stco_New();GF_Box *stss_New();GF_Box *stdp_New();GF_Box *sdtp_New();GF_Box *co64_New();GF_Box *esds_New();GF_Box *minf_New();GF_Box *tkhd_New();GF_Box *tref_New();GF_Box *mdia_New();GF_Box *defa_New();GF_Box *uuid_New();GF_Box *void_New();GF_Box *stsf_New();GF_Box *gnrm_New();GF_Box *gnrv_New();GF_Box *gnra_New();GF_Box *pdin_New();void reftype_del(GF_Box *);void free_del(GF_Box *);void mdat_del(GF_Box *);void moov_del(GF_Box *);void mvhd_del(GF_Box *);void mdhd_del(GF_Box *);void vmhd_del(GF_Box *);void smhd_del(GF_Box *);void hmhd_del(GF_Box *);void nmhd_del(GF_Box *);void stbl_del(GF_Box *);void dinf_del(GF_Box *);void url_del(GF_Box *);void urn_del(GF_Box *);void chpl_del(GF_Box *);void cprt_del(GF_Box *);void hdlr_del(GF_Box *);void iods_del(GF_Box *);void trak_del(GF_Box *);void mp4s_del(GF_Box *);void mp4v_del(GF_Box *);void mp4a_del(GF_Box *);void edts_del(GF_Box *);void udta_del(GF_Box *);void dref_del(GF_Box *);void stsd_del(GF_Box *);void stts_del(GF_Box *);void ctts_del(GF_Box *);void stsh_del(GF_Box *);void elst_del(GF_Box *);void stsc_del(GF_Box *);void stsz_del(GF_Box *);void stco_del(GF_Box *);void stss_del(GF_Box *);void stdp_del(GF_Box *);void sdtp_del(GF_Box *);void co64_del(GF_Box *);void esds_del(GF_Box *);void minf_del(GF_Box *);void tkhd_del(GF_Box *);void tref_del(GF_Box *);void mdia_del(GF_Box *);void defa_del(GF_Box *);void uuid_del(GF_Box *);void void_del(GF_Box *);void stsf_del(GF_Box *);void gnrm_del(GF_Box *);void gnrv_del(GF_Box *);void gnra_del(GF_Box *);void pdin_del(GF_Box *);GF_Err reftype_Write(GF_Box *s, GF_BitStream *bs);GF_Err free_Write(GF_Box *s, GF_BitStream *bs);GF_Err mdat_Write(GF_Box *s, GF_BitStream *bs);GF_Err moov_Write(GF_Box *s, GF_BitStream *bs);GF_Err mvhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err mdhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err vmhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err smhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err hmhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err nmhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err stbl_Write(GF_Box *s, GF_BitStream *bs);GF_Err dinf_Write(GF_Box *s, GF_BitStream *bs);GF_Err url_Write(GF_Box *s, GF_BitStream *bs);GF_Err urn_Write(GF_Box *s, GF_BitStream *bs);GF_Err chpl_Write(GF_Box *s, GF_BitStream *bs);GF_Err cprt_Write(GF_Box *s, GF_BitStream *bs);GF_Err hdlr_Write(GF_Box *s, GF_BitStream *bs);GF_Err iods_Write(GF_Box *s, GF_BitStream *bs);GF_Err trak_Write(GF_Box *s, GF_BitStream *bs);GF_Err mp4s_Write(GF_Box *s, GF_BitStream *bs);GF_Err mp4v_Write(GF_Box *s, GF_BitStream *bs);GF_Err mp4a_Write(GF_Box *s, GF_BitStream *bs);GF_Err edts_Write(GF_Box *s, GF_BitStream *bs);GF_Err udta_Write(GF_Box *s, GF_BitStream *bs);GF_Err dref_Write(GF_Box *s, GF_BitStream *bs);GF_Err stsd_Write(GF_Box *s, GF_BitStream *bs);GF_Err stts_Write(GF_Box *s, GF_BitStream *bs);GF_Err ctts_Write(GF_Box *s, GF_BitStream *bs);GF_Err stsh_Write(GF_Box *s, GF_BitStream *bs);GF_Err elst_Write(GF_Box *s, GF_BitStream *bs);GF_Err stsc_Write(GF_Box *s, GF_BitStream *bs);GF_Err stsz_Write(GF_Box *s, GF_BitStream *bs);GF_Err stco_Write(GF_Box *s, GF_BitStream *bs);GF_Err stss_Write(GF_Box *s, GF_BitStream *bs);GF_Err stdp_Write(GF_Box *s, GF_BitStream *bs);GF_Err sdtp_Write(GF_Box *s, GF_BitStream *bs);GF_Err co64_Write(GF_Box *s, GF_BitStream *bs);GF_Err esds_Write(GF_Box *s, GF_BitStream *bs);GF_Err minf_Write(GF_Box *s, GF_BitStream *bs);GF_Err tkhd_Write(GF_Box *s, GF_BitStream *bs);GF_Err tref_Write(GF_Box *s, GF_BitStream *bs);GF_Err mdia_Write(GF_Box *s, GF_BitStream *bs);GF_Err defa_Write(GF_Box *s, GF_BitStream *bs);GF_Err uuid_Write(GF_Box *s, GF_BitStream *bs);GF_Err void_Write(GF_Box *s, GF_BitStream *bs);GF_Err stsf_Write(GF_Box *s, GF_BitStream *bs);GF_Err gnrm_Write(GF_Box *s, GF_BitStream *bs);GF_Err gnrv_Write(GF_Box *s, GF_BitStream *bs);GF_Err gnra_Write(GF_Box *s, GF_BitStream *bs);GF_Err pdin_Write(GF_Box *s, GF_BitStream *bs);GF_Err reftype_Size(GF_Box *);GF_Err free_Size(GF_Box *);GF_Err mdat_Size(GF_Box *);GF_Err moov_Size(GF_Box *);GF_Err mvhd_Size(GF_Box *);GF_Err mdhd_Size(GF_Box *);GF_Err vmhd_Size(GF_Box *);GF_Err smhd_Size(GF_Box *);GF_Err hmhd_Size(GF_Box *);GF_Err nmhd_Size(GF_Box *);GF_Err stbl_Size(GF_Box *);GF_Err dinf_Size(GF_Box *);GF_Err url_Size(GF_Box *);GF_Err urn_Size(GF_Box *);GF_Err chpl_Size(GF_Box *);GF_Err cprt_Size(GF_Box *);GF_Err hdlr_Size(GF_Box *);GF_Err iods_Size(GF_Box *);GF_Err trak_Size(GF_Box *);GF_Err mp4s_Size(GF_Box *);GF_Err mp4v_Size(GF_Box *);GF_Err mp4a_Size(GF_Box *);GF_Err edts_Size(GF_Box *);GF_Err udta_Size(GF_Box *);GF_Err dref_Size(GF_Box *);GF_Err stsd_Size(GF_Box *);GF_Err stts_Size(GF_Box *);GF_Err ctts_Size(GF_Box *);GF_Err stsh_Size(GF_Box *);GF_Err elst_Size(GF_Box *);GF_Err stsc_Size(GF_Box *);GF_Err stsz_Size(GF_Box *);GF_Err stco_Size(GF_Box *);GF_Err stss_Size(GF_Box *);GF_Err stdp_Size(GF_Box *);GF_Err sdtp_Size(GF_Box *);GF_Err co64_Size(GF_Box *);GF_Err esds_Size(GF_Box *);GF_Err minf_Size(GF_Box *);GF_Err tkhd_Size(GF_Box *);GF_Err tref_Size(GF_Box *);GF_Err mdia_Size(GF_Box *);GF_Err defa_Size(GF_Box *);GF_Err uuid_Size(GF_Box *);GF_Err void_Size(GF_Box *);GF_Err stsf_Size(GF_Box *);GF_Err gnrm_Size(GF_Box *);GF_Err gnrv_Size(GF_Box *);GF_Err gnra_Size(GF_Box *);GF_Err pdin_Size(GF_Box *);GF_Err reftype_Read(GF_Box *s, GF_BitStream *bs);GF_Err free_Read(GF_Box *s, GF_BitStream *bs);GF_Err mdat_Read(GF_Box *s, GF_BitStream *bs);GF_Err moov_Read(GF_Box *s, GF_BitStream *bs);GF_Err mvhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err mdhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err vmhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err smhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err hmhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err nmhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err stbl_Read(GF_Box *s, GF_BitStream *bs);GF_Err dinf_Read(GF_Box *s, GF_BitStream *bs);GF_Err url_Read(GF_Box *s, GF_BitStream *bs);GF_Err urn_Read(GF_Box *s, GF_BitStream *bs);GF_Err chpl_Read(GF_Box *s, GF_BitStream *bs);GF_Err cprt_Read(GF_Box *s, GF_BitStream *bs);GF_Err hdlr_Read(GF_Box *s, GF_BitStream *bs);GF_Err iods_Read(GF_Box *s, GF_BitStream *bs);GF_Err trak_Read(GF_Box *s, GF_BitStream *bs);GF_Err mp4s_Read(GF_Box *s, GF_BitStream *bs);GF_Err mp4v_Read(GF_Box *s, GF_BitStream *bs);GF_Err mp4a_Read(GF_Box *s, GF_BitStream *bs);GF_Err edts_Read(GF_Box *s, GF_BitStream *bs);GF_Err udta_Read(GF_Box *s, GF_BitStream *bs);GF_Err dref_Read(GF_Box *s, GF_BitStream *bs);GF_Err stsd_Read(GF_Box *s, GF_BitStream *bs);GF_Err stts_Read(GF_Box *s, GF_BitStream *bs);GF_Err ctts_Read(GF_Box *s, GF_BitStream *bs);GF_Err stsh_Read(GF_Box *s, GF_BitStream *bs);GF_Err elst_Read(GF_Box *s, GF_BitStream *bs);GF_Err stsc_Read(GF_Box *s, GF_BitStream *bs);GF_Err stsz_Read(GF_Box *s, GF_BitStream *bs);GF_Err stco_Read(GF_Box *s, GF_BitStream *bs);GF_Err stss_Read(GF_Box *s, GF_BitStream *bs);GF_Err stdp_Read(GF_Box *s, GF_BitStream *bs);GF_Err sdtp_Read(GF_Box *s, GF_BitStream *bs);GF_Err co64_Read(GF_Box *s, GF_BitStream *bs);GF_Err esds_Read(GF_Box *s, GF_BitStream *bs);GF_Err minf_Read(GF_Box *s, GF_BitStream *bs);GF_Err tkhd_Read(GF_Box *s, GF_BitStream *bs);GF_Err tref_Read(GF_Box *s, GF_BitStream *bs);GF_Err mdia_Read(GF_Box *s, GF_BitStream *bs);GF_Err defa_Read(GF_Box *s, GF_BitStream *bs);GF_Err uuid_Read(GF_Box *s, GF_BitStream *bs);GF_Err void_Read(GF_Box *s, GF_BitStream *bs);GF_Err stsf_Read(GF_Box *s, GF_BitStream *bs);GF_Err pdin_Read(GF_Box *s, GF_BitStream *bs);GF_Box *hinf_New();GF_Box *trpy_New();GF_Box *totl_New();GF_Box *nump_New();GF_Box *npck_New();GF_Box *tpyl_New();GF_Box *tpay_New();GF_Box *maxr_New();GF_Box *dmed_New();GF_Box *dimm_New();GF_Box *drep_New();GF_Box *tmin_New();GF_Box *tmax_New();GF_Box *pmax_New();GF_Box *dmax_New();GF_Box *payt_New();GF_Box *name_New();GF_Box *rely_New();GF_Box *snro_New();GF_Box *tims_New();GF_Box *tsro_New();GF_Box *ghnt_New();GF_Box *hnti_New();GF_Box *sdp_New();GF_Box *rtpo_New();void hinf_del(GF_Box *s);void trpy_del(GF_Box *s);void totl_del(GF_Box *s);void nump_del(GF_Box *s);void npck_del(GF_Box *s);void tpyl_del(GF_Box *s);void tpay_del(GF_Box *s);void maxr_del(GF_Box *s);void dmed_del(GF_Box *s);void dimm_del(GF_Box *s);void drep_del(GF_Box *s);void tmin_del(GF_Box *s);void tmax_del(GF_Box *s);void pmax_del(GF_Box *s);void dmax_del(GF_Box *s);void payt_del(GF_Box *s);void name_del(GF_Box *s);void rely_del(GF_Box *s);void snro_del(GF_Box *s);void tims_del(GF_Box *s);void tsro_del(GF_Box *s);void ghnt_del(GF_Box *s);void hnti_del(GF_Box *a);void sdp_del(GF_Box *a);void rtpo_del(GF_Box *s);GF_Err hinf_Read(GF_Box *s, GF_BitStream *bs);GF_Err trpy_Read(GF_Box *s, GF_BitStream *bs);GF_Err totl_Read(GF_Box *s, GF_BitStream *bs);GF_Err nump_Read(GF_Box *s, GF_BitStream *bs);GF_Err npck_Read(GF_Box *s, GF_BitStream *bs);GF_Err tpyl_Read(GF_Box *s, GF_BitStream *bs);GF_Err tpay_Read(GF_Box *s, GF_BitStream *bs);GF_Err maxr_Read(GF_Box *s, GF_BitStream *bs);GF_Err dmed_Read(GF_Box *s, GF_BitStream *bs);GF_Err dimm_Read(GF_Box *s, GF_BitStream *bs);GF_Err drep_Read(GF_Box *s, GF_BitStream *bs);GF_Err tmin_Read(GF_Box *s, GF_BitStream *bs);GF_Err tmax_Read(GF_Box *s, GF_BitStream *bs);GF_Err pmax_Read(GF_Box *s, GF_BitStream *bs);GF_Err dmax_Read(GF_Box *s, GF_BitStream *bs);GF_Err payt_Read(GF_Box *s, GF_BitStream *bs);GF_Err name_Read(GF_Box *s, GF_BitStream *bs);GF_Err rely_Read(GF_Box *s, GF_BitStream *bs);GF_Err snro_Read(GF_Box *s, GF_BitStream *bs);GF_Err tims_Read(GF_Box *s, GF_BitStream *bs);GF_Err tsro_Read(GF_Box *s, GF_BitStream *bs);GF_Err ghnt_Read(GF_Box *s, GF_BitStream *bs);GF_Err hnti_Read(GF_Box *s, GF_BitStream *bs);GF_Err sdp_Read(GF_Box *s, GF_BitStream *bs);GF_Err rtpo_Read(GF_Box *s, GF_BitStream *bs);GF_Err hinf_Write(GF_Box *s, GF_BitStream *bs);GF_Err trpy_Write(GF_Box *s, GF_BitStream *bs);GF_Err totl_Write(GF_Box *s, GF_BitStream *bs);GF_Err nump_Write(GF_Box *s, GF_BitStream *bs);GF_Err npck_Write(GF_Box *s, GF_BitStream *bs);GF_Err tpyl_Write(GF_Box *s, GF_BitStream *bs);GF_Err tpay_Write(GF_Box *s, GF_BitStream *bs);GF_Err maxr_Write(GF_Box *s, GF_BitStream *bs);GF_Err dmed_Write(GF_Box *s, GF_BitStream *bs);GF_Err dimm_Write(GF_Box *s, GF_BitStream *bs);GF_Err drep_Write(GF_Box *s, GF_BitStream *bs);GF_Err tmin_Write(GF_Box *s, GF_BitStream *bs);GF_Err tmax_Write(GF_Box *s, GF_BitStream *bs);GF_Err pmax_Write(GF_Box *s, GF_BitStream *bs);GF_Err dmax_Write(GF_Box *s, GF_BitStream *bs);GF_Err payt_Write(GF_Box *s, GF_BitStream *bs);GF_Err name_Write(GF_Box *s, GF_BitStream *bs);GF_Err rely_Write(GF_Box *s, GF_BitStream *bs);GF_Err snro_Write(GF_Box *s, GF_BitStream *bs);GF_Err tims_Write(GF_Box *s, GF_BitStream *bs);GF_Err tsro_Write(GF_Box *s, GF_BitStream *bs);GF_Err ghnt_Write(GF_Box *s, GF_BitStream *bs);GF_Err hnti_Write(GF_Box *s, GF_BitStream *bs);G

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -