Reset the internal segment before freeing it.
mxf_index_table_segment_parse() allocates data inside the segment
(like segment->delta_entries) which have to be freed using
mxf_index_table_segment_reset().
https://bugzilla.gnome.org/show_bug.cgi?id=746803
(GCompareFunc) compare_index_table_segments);
/* Prevent duplicates */
- if (l == NULL)
+ if (l == NULL) {
demux->pending_index_table_segments =
g_list_prepend (demux->pending_index_table_segments, segment);
- else
+ } else {
+ mxf_index_table_segment_reset (segment);
g_free (segment);
+ }
return GST_FLOW_OK;
}