From effb5786da04e28effadc0602ef1ec5465458801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 22 Mar 2009 15:51:37 +0100 Subject: mxfmux: Fix some memory leaks, improve debugging and handle errors better --- gst/mxf/mxfvc3.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gst/mxf/mxfvc3.c') diff --git a/gst/mxf/mxfvc3.c b/gst/mxf/mxfvc3.c index e3e7bc52..ec14734e 100644 --- a/gst/mxf/mxfvc3.c +++ b/gst/mxf/mxfvc3.c @@ -178,16 +178,22 @@ mxf_vc3_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps, GstStructure *s; s = gst_caps_get_structure (caps, 0); - if (strcmp (gst_structure_get_name (s), "video/x-dnxhd") != 0) + if (strcmp (gst_structure_get_name (s), "video/x-dnxhd") != 0) { + GST_ERROR ("Invalid caps %" GST_PTR_FORMAT, caps); return NULL; + } ret = (MXFMetadataCDCIPictureEssenceDescriptor *) gst_mini_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR); memcpy (&ret->parent.parent.essence_container, &vc3_essence_container_ul, 16); - mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent, - caps); + if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent, + caps)) { + gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret)); + return NULL; + } + *handler = mxf_vc3_write_func; return (MXFMetadataFileDescriptor *) ret; -- cgit v1.2.1