如: MP4BOX 合成的MP4 在文件末尾添加 freebox: 如: freeIsoMedia File Produced with GPAC 0.8.0-xx-HEAD
源码在 isom_store.c 中如下:
#if !defined(GPAC_DISABLE_ISOM) && !defined(GPAC_DISABLE_ISOM_WRITE)
#define GPAC_ISOM_CPRT_NOTICE "IsoMedia File Produced with GPAC"
#define GPAC_ISOM_CPRT_NOTICE_VERSION GPAC_ISOM_CPRT_NOTICE" "GPAC_FULL_VERSION
static GF_Err gf_isom_insert_copyright(GF_ISOFile *movie)
{
u32 i;
GF_Box *a;
GF_FreeSpaceBox *_free;
i=0;
while ((a = (GF_Box *)gf_list_enum(movie->TopBoxes, &i))) {
if (a->type == GF_ISOM_BOX_TYPE_FREE) {
_free = (GF_FreeSpaceBox *)a;
if (_free->dataSize) {
if (!strcmp(_free->data, GPAC_ISOM_CPRT_NOTICE_VERSION)) return GF_OK;
if (strstr(_free->data, GPAC_ISOM_CPRT_NOTICE)) {
gf_free(_free->data);
_free->data = gf_strdup(movie->drop_date_version_info ? GPAC_ISOM_CPRT_NOTICE : GPAC_ISOM_CPRT_NOTICE_VERSION);
_free->dataSize = 1 + (u32) strlen(_free->data);
return GF_OK;
}
}
}
}
a = gf_isom_box_new(GF_ISOM_BOX_TYPE_FREE);
if (!a) return GF_OUT_OF_MEM;
_free = (GF_FreeSpaceBox *)a;
_free->data = gf_strdup(movie->drop_date_version_info ? GPAC_ISOM_CPRT_NOTICE : GPAC_ISOM_CPRT_NOTICE_VERSION);
_free->dataSize = (u32) strlen(_free->data) + 1;
if (!_free->data) return GF_OUT_OF_MEM;
return gf_list_add(movie->TopBoxes, _free);
}