diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c index 7c314e85e1..e306a55d20 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -2239,6 +2239,7 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m, GHashTable * metadata) if (d->linked_track_id == package->tracks[i]->track_id || (d->linked_track_id == 0 && package->n_essence_tracks == 1 && (package->tracks[i]->type & 0xf0) == 0x30)) { + g_free (package->tracks[i]->descriptor); package->tracks[i]->descriptor = g_new0 (MXFMetadataFileDescriptor *, 1); package->tracks[i]->descriptor[0] = d; @@ -2264,6 +2265,7 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m, GHashTable * metadata) n_descriptor++; } + g_free (package->tracks[i]->descriptor); package->tracks[i]->descriptor = g_new0 (MXFMetadataFileDescriptor *, n_descriptor); package->tracks[i]->n_descriptor = n_descriptor;