void gf_isom_hint_sample_del(GF_HintSample *ptr) { GF_HintPacket *pck; if (ptr->hint_subtype==GF_ISOM_BOX_TYPE_FDP_STSD) { gf_isom_box_del((GF_Box*)ptr); return; } while (gf_list_count(ptr->packetTable)) { pck = (GF_HintPacket *)gf_list_get(ptr->packetTable, 0); gf_isom_hint_pck_del(pck); gf_list_rem(ptr->packetTable, 0); } gf_list_del(ptr->packetTable); if (ptr->AdditionalData) gf_free(ptr->AdditionalData); if (ptr->sample_cache) { while (gf_list_count(ptr->sample_cache)) { GF_HintDataCache *hdc = (GF_HintDataCache *)gf_list_get(ptr->sample_cache, 0); gf_list_rem(ptr->sample_cache, 0); if (hdc->samp) gf_isom_sample_del(&hdc->samp); gf_free(hdc); } gf_list_del(ptr->sample_cache); } if (ptr->extra_data) gf_isom_box_del((GF_Box*)ptr->extra_data); if (ptr->other_boxes) gf_isom_box_array_del(ptr->other_boxes); gf_free(ptr); }
void gf_isom_hint_sample_del(GF_HintSample *ptr) { GF_HintPacket *pck; while (gf_list_count(ptr->packetTable)) { pck = (GF_HintPacket *)gf_list_get(ptr->packetTable, 0); gf_isom_hint_pck_del(ptr->HintType, pck); gf_list_rem(ptr->packetTable, 0); } gf_list_del(ptr->packetTable); if (ptr->AdditionalData) gf_free(ptr->AdditionalData); if (ptr->sample_cache) { while (gf_list_count(ptr->sample_cache)) { GF_HintDataCache *hdc = (GF_HintDataCache *)gf_list_get(ptr->sample_cache, 0); gf_list_rem(ptr->sample_cache, 0); if (hdc->samp) gf_isom_sample_del(&hdc->samp); gf_free(hdc); } gf_list_del(ptr->sample_cache); } gf_free(ptr); }