Skip to content

Commit

Permalink
fixed bug and mem leak in csgp parsing and signal sample groups from …
Browse files Browse the repository at this point in the history
…traf in dump
  • Loading branch information
jeanlf committed Jan 18, 2022
1 parent 4777957 commit 8913c86
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/isomedia/box_code_base.c
Expand Up @@ -12570,6 +12570,7 @@ GF_Err csgp_box_read(GF_Box *s, GF_BitStream *bs)
//MSB set, this is a index of a group described in the fragment
if (idx & gidx_mask) {
idx += 0x10000;
idx &= ~gidx_mask;
}
}
ptr->patterns[i].sample_group_description_indices[j] = idx;
Expand Down
11 changes: 8 additions & 3 deletions src/isomedia/box_dump.c
Expand Up @@ -4604,15 +4604,20 @@ GF_Err sbgp_box_dump(GF_Box *a, FILE * trace)
if (isalnum(ptr->grouping_type_parameter&0xFF)) {
gf_fprintf(trace, " grouping_type_parameter=\"%s\"", gf_4cc_to_str(ptr->grouping_type_parameter) );
} else {
gf_fprintf(trace, " grouping_type_parameter=\"%d\"", ptr->grouping_type_parameter);
gf_fprintf(trace, " grouping_type_parameter=\"%u\"", ptr->grouping_type_parameter);
}
}
gf_fprintf(trace, ">\n");
for (i=0; i<ptr->entry_count; i++) {
gf_fprintf(trace, "<SampleGroupBoxEntry sample_count=\"%d\" group_description_index=\"%d\"/>\n", ptr->sample_entries[i].sample_count, ptr->sample_entries[i].group_description_index );
GF_SampleGroupEntry *pe = &ptr->sample_entries[i];
if (pe->group_description_index>0x10000) {
gf_fprintf(trace, "<SampleGroupBoxEntry sample_count=\"%u\" group_description_index=\"%u\" group_description_in_traf=\"1\" />\n", pe->sample_count, pe->group_description_index-0x10000);
} else {
gf_fprintf(trace, "<SampleGroupBoxEntry sample_count=\"%u\" group_description_index=\"%u\"/>\n", ptr->sample_entries[i].sample_count, ptr->sample_entries[i].group_description_index );
}
}
if (!ptr->size) {
gf_fprintf(trace, "<SampleGroupBoxEntry sample_count=\"\" group_description_index=\"\"/>\n");
gf_fprintf(trace, "<SampleGroupBoxEntry sample_count=\"\" group_description_index=\"\" group_description_in_traf=\"\"/>\n");
}
gf_isom_box_dump_done("SampleGroupBox", a, trace);
return GF_OK;
Expand Down
1 change: 1 addition & 0 deletions src/isomedia/isom_intern.c
Expand Up @@ -284,6 +284,7 @@ static void convert_compact_sample_groups(GF_List *child_boxes, GF_List *sampleG
k = 0;
}
}
gf_isom_box_del((GF_Box*)csgp);
}
}

Expand Down

0 comments on commit 8913c86

Please sign in to comment.