in src/isomedia/box_funcs.c [2018:2481]
GF_Err gf_isom_box_write_listing(GF_Box *a, GF_BitStream *bs)
{
switch (a->type) {
case GF_ISOM_BOX_TYPE_REFT:
return reftype_Write(a, bs);
case GF_ISOM_BOX_TYPE_FREE:
case GF_ISOM_BOX_TYPE_SKIP:
return free_Write(a, bs);
case GF_ISOM_BOX_TYPE_MDAT:
return mdat_Write(a, bs);
case GF_ISOM_BOX_TYPE_MOOV:
return moov_Write(a, bs);
case GF_ISOM_BOX_TYPE_MVHD:
return mvhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_MDHD:
return mdhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_VMHD:
return vmhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_SMHD:
return smhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_HMHD:
return hmhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_ODHD:
case GF_ISOM_BOX_TYPE_CRHD:
case GF_ISOM_BOX_TYPE_SDHD:
case GF_ISOM_BOX_TYPE_NMHD:
case GF_ISOM_BOX_TYPE_STHD:
return nmhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_STBL:
return stbl_Write(a, bs);
case GF_ISOM_BOX_TYPE_DINF:
return dinf_Write(a, bs);
case GF_ISOM_BOX_TYPE_URL:
return url_Write(a, bs);
case GF_ISOM_BOX_TYPE_URN:
return urn_Write(a, bs);
case GF_ISOM_BOX_TYPE_CHPL:
return chpl_Write(a, bs);
case GF_ISOM_BOX_TYPE_CPRT:
return cprt_Write(a, bs);
case GF_ISOM_BOX_TYPE_KIND:
return kind_Write(a, bs);
case GF_ISOM_BOX_TYPE_HDLR:
return hdlr_Write(a, bs);
case GF_ISOM_BOX_TYPE_IODS:
return iods_Write(a, bs);
case GF_ISOM_BOX_TYPE_TRAK:
return trak_Write(a, bs);
case GF_ISOM_BOX_TYPE_MP4S:
return mp4s_Write(a, bs);
case GF_ISOM_BOX_TYPE_MP4V:
return mp4v_Write(a, bs);
case GF_ISOM_BOX_TYPE_MP4A:
return mp4a_Write(a, bs);
case GF_ISOM_BOX_TYPE_GNRM:
return gnrm_Write(a, bs);
case GF_ISOM_BOX_TYPE_GNRV:
return gnrv_Write(a, bs);
case GF_ISOM_BOX_TYPE_GNRA:
return gnra_Write(a, bs);
case GF_ISOM_BOX_TYPE_EDTS:
return edts_Write(a, bs);
case GF_ISOM_BOX_TYPE_UDTA:
return udta_Write(a, bs);
case GF_ISOM_BOX_TYPE_DREF:
return dref_Write(a, bs);
case GF_ISOM_BOX_TYPE_STSD:
return stsd_Write(a, bs);
case GF_ISOM_BOX_TYPE_STTS:
return stts_Write(a, bs);
case GF_ISOM_BOX_TYPE_CTTS:
return ctts_Write(a, bs);
case GF_ISOM_BOX_TYPE_CSLG:
return cslg_Write(a, bs);
case GF_ISOM_BOX_TYPE_STSH:
return stsh_Write(a, bs);
case GF_ISOM_BOX_TYPE_ELST:
return elst_Write(a, bs);
case GF_ISOM_BOX_TYPE_STSC:
return stsc_Write(a, bs);
case GF_ISOM_BOX_TYPE_STZ2:
case GF_ISOM_BOX_TYPE_STSZ:
return stsz_Write(a, bs);
case GF_ISOM_BOX_TYPE_STCO:
return stco_Write(a, bs);
case GF_ISOM_BOX_TYPE_STSS:
return stss_Write(a, bs);
case GF_ISOM_BOX_TYPE_STDP:
return stdp_Write(a, bs);
case GF_ISOM_BOX_TYPE_SDTP:
return sdtp_Write(a, bs);
case GF_ISOM_BOX_TYPE_CO64:
return co64_Write(a, bs);
case GF_ISOM_BOX_TYPE_ESDS:
return esds_Write(a, bs);
case GF_ISOM_BOX_TYPE_MINF:
return minf_Write(a, bs);
case GF_ISOM_BOX_TYPE_TKHD:
return tkhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_TREF:
return tref_Write(a, bs);
case GF_ISOM_BOX_TYPE_MDIA:
return mdia_Write(a, bs);
case GF_ISOM_BOX_TYPE_ELNG:
return elng_Write(a, bs);
case GF_ISOM_BOX_TYPE_FTYP:
case GF_ISOM_BOX_TYPE_STYP:
return ftyp_Write(a, bs);
case GF_ISOM_BOX_TYPE_PADB:
return padb_Write(a, bs);
case GF_ISOM_BOX_TYPE_VOID:
return void_Write(a, bs);
case GF_ISOM_BOX_TYPE_STSF:
return stsf_Write(a, bs);
case GF_ISOM_BOX_TYPE_PDIN:
return pdin_Write(a, bs);
case GF_ISOM_BOX_TYPE_SBGP:
return sbgp_Write(a, bs);
case GF_ISOM_BOX_TYPE_SGPD:
return sgpd_Write(a, bs);
case GF_ISOM_BOX_TYPE_SAIZ:
return saiz_Write(a, bs);
case GF_ISOM_BOX_TYPE_SAIO:
return saio_Write(a, bs);
case GF_ISOM_BOX_TYPE_PSSH:
return pssh_Write(a, bs);
case GF_ISOM_BOX_TYPE_TENC:
return tenc_Write(a, bs);
#ifndef GPAC_DISABLE_ISOM_HINTING
case GF_ISOM_BOX_TYPE_RTP_STSD:
return ghnt_Write(a, bs);
case GF_ISOM_BOX_TYPE_RTPO:
return rtpo_Write(a, bs);
case GF_ISOM_BOX_TYPE_HNTI:
return hnti_Write(a, bs);
case GF_ISOM_BOX_TYPE_SDP:
return sdp_Write(a, bs);
case GF_ISOM_BOX_TYPE_HINF:
return hinf_Write(a, bs);
case GF_ISOM_BOX_TYPE_RELY:
return rely_Write(a, bs);
case GF_ISOM_BOX_TYPE_TIMS:
return tims_Write(a, bs);
case GF_ISOM_BOX_TYPE_TSRO:
return tsro_Write(a, bs);
case GF_ISOM_BOX_TYPE_SNRO:
return snro_Write(a, bs);
case GF_ISOM_BOX_TYPE_TRPY:
return trpy_Write(a, bs);
case GF_ISOM_BOX_TYPE_NUMP:
return nump_Write(a, bs);
case GF_ISOM_BOX_TYPE_TOTL:
return totl_Write(a, bs);
case GF_ISOM_BOX_TYPE_NPCK:
return npck_Write(a, bs);
case GF_ISOM_BOX_TYPE_TPYL:
return tpyl_Write(a, bs);
case GF_ISOM_BOX_TYPE_TPAY:
return tpay_Write(a, bs);
case GF_ISOM_BOX_TYPE_MAXR:
return maxr_Write(a, bs);
case GF_ISOM_BOX_TYPE_DMED:
return dmed_Write(a, bs);
case GF_ISOM_BOX_TYPE_DIMM:
return dimm_Write(a, bs);
case GF_ISOM_BOX_TYPE_DREP:
return drep_Write(a, bs);
case GF_ISOM_BOX_TYPE_TMIN:
return tmin_Write(a, bs);
case GF_ISOM_BOX_TYPE_TMAX:
return tmax_Write(a, bs);
case GF_ISOM_BOX_TYPE_PMAX:
return pmax_Write(a, bs);
case GF_ISOM_BOX_TYPE_DMAX:
return dmax_Write(a, bs);
case GF_ISOM_BOX_TYPE_PAYT:
return payt_Write(a, bs);
case GF_ISOM_BOX_TYPE_NAME:
return name_Write(a, bs);
#endif /*GPAC_DISABLE_ISOM_HINTING*/
#ifndef GPAC_DISABLE_ISOM_FRAGMENTS
case GF_ISOM_BOX_TYPE_MVEX:
return mvex_Write(a, bs);
case GF_ISOM_BOX_TYPE_MEHD:
return mehd_Write(a, bs);
case GF_ISOM_BOX_TYPE_TREX:
return trex_Write(a, bs);
case GF_ISOM_BOX_TYPE_TREP:
return trep_Write(a, bs);
case GF_ISOM_BOX_TYPE_MOOF:
return moof_Write(a, bs);
case GF_ISOM_BOX_TYPE_MFHD:
return mfhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_TRAF:
return traf_Write(a, bs);
case GF_ISOM_BOX_TYPE_TFHD:
return tfhd_Write(a, bs);
case GF_ISOM_BOX_TYPE_TFDT:
return tfdt_Write(a, bs);
case GF_ISOM_BOX_TYPE_TRUN:
return trun_Write(a, bs);
#endif
/*3GPP boxes*/
case GF_ISOM_SUBTYPE_3GP_AMR:
case GF_ISOM_SUBTYPE_3GP_AMR_WB:
case GF_ISOM_SUBTYPE_3GP_EVRC:
case GF_ISOM_SUBTYPE_3GP_QCELP:
case GF_ISOM_SUBTYPE_3GP_SMV:
return gppa_Write(a, bs);
case GF_ISOM_SUBTYPE_3GP_H263:
return gppv_Write(a, bs);
case GF_ISOM_BOX_TYPE_DAMR:
case GF_ISOM_BOX_TYPE_DEVC:
case GF_ISOM_BOX_TYPE_DQCP:
case GF_ISOM_BOX_TYPE_DSMV:
case GF_ISOM_BOX_TYPE_D263:
return gppc_Write(a, bs);
case GF_ISOM_BOX_TYPE_AVCC:
case GF_ISOM_BOX_TYPE_SVCC:
return avcc_Write(a, bs);
case GF_ISOM_BOX_TYPE_HVCC:
case GF_ISOM_BOX_TYPE_SHCC:
return hvcc_Write(a, bs);
case GF_ISOM_BOX_TYPE_BTRT:
return btrt_Write(a, bs);
case GF_ISOM_BOX_TYPE_M4DS:
return m4ds_Write(a, bs);
case GF_ISOM_BOX_TYPE_AVC1:
case GF_ISOM_BOX_TYPE_AVC2:
case GF_ISOM_BOX_TYPE_AVC3:
case GF_ISOM_BOX_TYPE_AVC4:
case GF_ISOM_BOX_TYPE_SVC1:
case GF_ISOM_BOX_TYPE_HVC1:
case GF_ISOM_BOX_TYPE_HEV1:
case GF_ISOM_BOX_TYPE_HVC2:
case GF_ISOM_BOX_TYPE_HEV2:
case GF_ISOM_BOX_TYPE_SHC1:
case GF_ISOM_BOX_TYPE_SHV1:
case GF_ISOM_BOX_TYPE_HVT1:
return mp4v_Write(a, bs);
/*3GPP streaming text*/
case GF_ISOM_BOX_TYPE_FTAB:
return ftab_Write(a, bs);
case GF_ISOM_BOX_TYPE_TX3G:
return tx3g_Write(a, bs);
case GF_ISOM_BOX_TYPE_TEXT:
return text_Write(a, bs);
case GF_ISOM_BOX_TYPE_STYL:
return styl_Write(a, bs);
case GF_ISOM_BOX_TYPE_HLIT:
return hlit_Write(a, bs);
case GF_ISOM_BOX_TYPE_HCLR:
return hclr_Write(a, bs);
case GF_ISOM_BOX_TYPE_KROK:
return krok_Write(a, bs);
case GF_ISOM_BOX_TYPE_DLAY:
return dlay_Write(a, bs);
case GF_ISOM_BOX_TYPE_HREF:
return href_Write(a, bs);
case GF_ISOM_BOX_TYPE_TBOX:
return tbox_Write(a, bs);
case GF_ISOM_BOX_TYPE_BLNK:
return blnk_Write(a, bs);
case GF_ISOM_BOX_TYPE_TWRP:
return twrp_Write(a, bs);
/* ISMA 1.0 Encryption and Authentication V 1.0 */
case GF_ISOM_BOX_TYPE_IKMS:
return iKMS_Write(a, bs);
case GF_ISOM_BOX_TYPE_ISFM:
return iSFM_Write(a, bs);
/* ISO FF extensions for MPEG-21 */
case GF_ISOM_BOX_TYPE_META:
return meta_Write(a, bs);
case GF_ISOM_BOX_TYPE_XML:
return xml_Write(a, bs);
case GF_ISOM_BOX_TYPE_BXML:
return bxml_Write(a, bs);
case GF_ISOM_BOX_TYPE_ILOC:
return iloc_Write(a, bs);
case GF_ISOM_BOX_TYPE_PITM:
return pitm_Write(a, bs);
case GF_ISOM_BOX_TYPE_IPRO:
return ipro_Write(a, bs);
case GF_ISOM_BOX_TYPE_INFE:
return infe_Write(a, bs);
case GF_ISOM_BOX_TYPE_IINF:
return iinf_Write(a, bs);
case GF_ISOM_BOX_TYPE_SINF:
return sinf_Write(a, bs);
case GF_ISOM_BOX_TYPE_FRMA:
return frma_Write(a, bs);
case GF_ISOM_BOX_TYPE_SCHM:
return schm_Write(a, bs);
case GF_ISOM_BOX_TYPE_SCHI:
return schi_Write(a, bs);
case GF_ISOM_BOX_TYPE_ENCA:
return mp4a_Write(a, bs);
case GF_ISOM_BOX_TYPE_ENCV:
return mp4v_Write(a, bs);
case GF_ISOM_BOX_TYPE_ENCS:
return mp4s_Write(a, bs);
case GF_ISOM_BOX_TYPE_SENC:
return senc_Write(a, bs);
case GF_ISOM_BOX_TYPE_UUID:
switch ( ((GF_UnknownUUIDBox *)a)->internal_4cc) {
case GF_ISOM_BOX_UUID_TENC:
return piff_tenc_Write(a, bs);
case GF_ISOM_BOX_UUID_PSEC:
return piff_psec_Write(a, bs);
case GF_ISOM_BOX_UUID_PSSH:
return piff_pssh_Write(a, bs);
case GF_ISOM_BOX_UUID_TFRF:
case GF_ISOM_BOX_UUID_TFXD:
default:
return uuid_Write(a, bs);
}
#ifndef GPAC_DISABLE_ISOM_ADOBE
/* Adobe extensions */
case GF_ISOM_BOX_TYPE_ABST:
return abst_Write(a, bs);
case GF_ISOM_BOX_TYPE_AFRA:
return afra_Write(a, bs);
case GF_ISOM_BOX_TYPE_ASRT:
return asrt_Write(a, bs);
case GF_ISOM_BOX_TYPE_AFRT:
return afrt_Write(a, bs);
#endif
/* Apple extensions */
case GF_ISOM_BOX_TYPE_ILST:
return ilst_Write(a, bs);
case GF_ISOM_BOX_TYPE_0xA9NAM:
case GF_ISOM_BOX_TYPE_0xA9CMT:
case GF_ISOM_BOX_TYPE_0xA9DAY:
case GF_ISOM_BOX_TYPE_0xA9ART:
case GF_ISOM_BOX_TYPE_0xA9TRK:
case GF_ISOM_BOX_TYPE_0xA9ALB:
case GF_ISOM_BOX_TYPE_0xA9COM:
case GF_ISOM_BOX_TYPE_0xA9WRT:
case GF_ISOM_BOX_TYPE_0xA9TOO:
case GF_ISOM_BOX_TYPE_0xA9CPY:
case GF_ISOM_BOX_TYPE_0xA9DES:
case GF_ISOM_BOX_TYPE_0xA9GEN:
case GF_ISOM_BOX_TYPE_0xA9GRP:
case GF_ISOM_BOX_TYPE_0xA9ENC:
case GF_ISOM_BOX_TYPE_aART:
case GF_ISOM_BOX_TYPE_GNRE:
case GF_ISOM_BOX_TYPE_DISK:
case GF_ISOM_BOX_TYPE_TRKN:
case GF_ISOM_BOX_TYPE_TMPO:
case GF_ISOM_BOX_TYPE_CPIL:
case GF_ISOM_BOX_TYPE_PGAP:
case GF_ISOM_BOX_TYPE_COVR:
return ListItem_Write(a, bs);
case GF_ISOM_BOX_TYPE_DATA:
return data_Write(a, bs);
case GF_ISOM_BOX_TYPE_OHDR:
return ohdr_Write(a, bs);
case GF_ISOM_BOX_TYPE_GRPI:
return grpi_Write(a, bs);
case GF_ISOM_BOX_TYPE_MDRI:
return mdri_Write(a, bs);
case GF_ISOM_BOX_TYPE_ODTT:
return odtt_Write(a, bs);
case GF_ISOM_BOX_TYPE_ODRB:
return odrb_Write(a, bs);
case GF_ISOM_BOX_TYPE_ODKM:
return odkm_Write(a, bs);
case GF_ISOM_BOX_TYPE_ODAF:
return iSFM_Write(a, bs);
case GF_ISOM_BOX_TYPE_PASP:
return pasp_Write(a, bs);
case GF_ISOM_BOX_TYPE_TSEL:
return tsel_Write(a, bs);
case GF_ISOM_BOX_TYPE_METX:
case GF_ISOM_BOX_TYPE_METT:
return metx_Write(a, bs);
case GF_ISOM_BOX_TYPE_DIMS:
return dims_Write(a, bs);
case GF_ISOM_BOX_TYPE_DIMC:
return dimC_Write(a, bs);
case GF_ISOM_BOX_TYPE_DIST:
return diST_Write(a, bs);
case GF_ISOM_BOX_TYPE_AC3:
return ac3_Write(a, bs);
case GF_ISOM_BOX_TYPE_DAC3:
return dac3_Write(a, bs);
case GF_ISOM_BOX_TYPE_LSRC:
return lsrc_Write(a, bs);
case GF_ISOM_BOX_TYPE_LSR1:
return lsr1_Write(a, bs);
case GF_ISOM_BOX_TYPE_SIDX:
return sidx_Write(a, bs);
case GF_ISOM_BOX_TYPE_PCRB:
return pcrb_Write(a, bs);
case GF_ISOM_BOX_TYPE_SUBS:
return subs_Write(a, bs);
case GF_ISOM_BOX_TYPE_RVCC:
return rvcc_Write(a, bs);
#ifndef GPAC_DISABLE_TTXT
case GF_ISOM_BOX_TYPE_STXT:
return metx_Write(a, bs);
case GF_ISOM_BOX_TYPE_TXTC:
return txtc_Write(a, bs);
case GF_ISOM_BOX_TYPE_VTCU:
return vtcu_Write(a, bs);
case GF_ISOM_BOX_TYPE_VTTE:
return vtte_Write(a, bs);
case GF_ISOM_BOX_TYPE_VTTC:
case GF_ISOM_BOX_TYPE_CTIM:
case GF_ISOM_BOX_TYPE_IDEN:
case GF_ISOM_BOX_TYPE_STTG:
case GF_ISOM_BOX_TYPE_PAYL:
case GF_ISOM_BOX_TYPE_VTTA:
return boxstring_Write(a, bs);
case GF_ISOM_BOX_TYPE_WVTT:
return wvtt_Write(a, bs);
case GF_ISOM_BOX_TYPE_STPP:
return metx_Write(a, bs);
case GF_ISOM_BOX_TYPE_SBTT:
return metx_Write(a, bs);
#endif//GPAC_DISABLE_TTXT
case GF_ISOM_BOX_TYPE_ADKM:
return adkm_Write(a, bs);
case GF_ISOM_BOX_TYPE_AHDR:
return ahdr_Write(a, bs);
case GF_ISOM_BOX_TYPE_APRM:
return aprm_Write(a, bs);
case GF_ISOM_BOX_TYPE_AEIB:
return aeib_Write(a, bs);
case GF_ISOM_BOX_TYPE_AKEY:
return akey_Write(a, bs);
case GF_ISOM_BOX_TYPE_FLXS:
return flxs_Write(a, bs);
case GF_ISOM_BOX_TYPE_ADAF:
return adaf_Write(a, bs);
default:
return defa_Write(a, bs);
}
}