actually use the free_data function
authorBenjamin Otte <otte@gnome.org>
Mon, 12 Jan 2004 01:41:23 +0000 (01:41 +0000)
committerBenjamin Otte <otte@gnome.org>
Mon, 12 Jan 2004 01:41:23 +0000 (01:41 +0000)
Original commit message from CVS:
actually use the free_data function

gst/gstbuffer.c

index 83a95e6..626b2b5 100644 (file)
@@ -91,8 +91,11 @@ gst_buffer_default_free (GstBuffer *buffer)
   g_return_if_fail (buffer != NULL);
 
   /* free our data */
-  if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_DONTFREE) && GST_BUFFER_DATA (buffer)) 
+  if (GST_BUFFER_FREE_DATA_FUNC (buffer)) {
+    GST_BUFFER_FREE_DATA_FUNC (buffer) (buffer);
+  } else if (!GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_DONTFREE)) { 
     g_free (GST_BUFFER_DATA (buffer));
+  }
 
   /* set to safe values */
   GST_BUFFER_DATA (buffer) = NULL;