Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yours...
authorBenjamin Otte <otte@gnome.org>
Tue, 15 Apr 2003 18:46:09 +0000 (18:46 +0000)
committerBenjamin Otte <otte@gnome.org>
Tue, 15 Apr 2003 18:46:09 +0000 (18:46 +0000)
Original commit message from CVS:
Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that reference some of the freed memory on state changes.

This is probably broken in lots of cases.

gst/gstqueue.c
plugins/elements/gstqueue.c

index a24dcb64ff5ee75ebbe31814f7b3869143fed335..a2c56cd7f6c55292f89c575891716b1b852af1a5 100644 (file)
@@ -251,7 +251,7 @@ gst_queue_dispose (GObject *object)
 {
   GstQueue *queue = GST_QUEUE (object);
 
-  gst_queue_locked_flush (queue);
+  gst_element_set_state (GST_ELEMENT (queue), GST_STATE_NULL);
 
   g_mutex_free (queue->qlock);
   g_cond_free (queue->not_empty);
index a24dcb64ff5ee75ebbe31814f7b3869143fed335..a2c56cd7f6c55292f89c575891716b1b852af1a5 100644 (file)
@@ -251,7 +251,7 @@ gst_queue_dispose (GObject *object)
 {
   GstQueue *queue = GST_QUEUE (object);
 
-  gst_queue_locked_flush (queue);
+  gst_element_set_state (GST_ELEMENT (queue), GST_STATE_NULL);
 
   g_mutex_free (queue->qlock);
   g_cond_free (queue->not_empty);