baseparse: Clear queued frames with other queues
authorMatej Knopp <matej.knopp@gmail.com>
Mon, 14 Nov 2011 01:26:31 +0000 (02:26 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 12 Dec 2011 12:37:25 +0000 (13:37 +0100)
libs/gst/base/gstbaseparse.c

index 9da9b49..64ba62f 100644 (file)
@@ -456,6 +456,10 @@ gst_base_parse_clear_queues (GstBaseParse * parse)
   g_list_free (parse->priv->detect_buffers);
   parse->priv->detect_buffers = NULL;
   parse->priv->detect_buffers_size = 0;
+
+  g_queue_foreach (&parse->priv->queued_frames,
+      (GFunc) gst_base_parse_frame_free, NULL);
+  g_queue_clear (&parse->priv->queued_frames);
 }
 
 static void
@@ -485,10 +489,6 @@ gst_base_parse_finalize (GObject * object)
   g_list_free (parse->priv->pending_events);
   parse->priv->pending_events = NULL;
 
-  g_queue_foreach (&parse->priv->queued_frames,
-      (GFunc) gst_base_parse_frame_free, NULL);
-  g_queue_clear (&parse->priv->queued_frames);
-
   if (parse->priv->index) {
     gst_object_unref (parse->priv->index);
     parse->priv->index = NULL;