diff --git a/ChangeLog b/ChangeLog index cd93899fa9..63c52f43bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2005-11-03 Tim-Philipp Müller + + * gst/gstbus.c: (gst_bus_class_init): + Fix some typos. + + * gst/gstqueue.c: (gst_queue_loop): + Don't assume a miniobject that isn't a buffer is an + event (it could be that there is a refcounting + problem somewhere and the pointer is stale and + refers to an already destroyed miniobject). + 2005-11-03 Julien MOUTTE * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos. diff --git a/gst/gstbus.c b/gst/gstbus.c index 130e263801..6268ee469c 100644 --- a/gst/gstbus.c +++ b/gst/gstbus.c @@ -172,7 +172,7 @@ gst_bus_class_init (GstBusClass * klass) * @bus: the object which received the signal * @message: the message that has been posted synchronously * - * A message has been posted on the bus. This signal is emited from the + * A message has been posted on the bus. This signal is emitted from the * thread that posted the message so one has to be carefull with locking. */ gst_bus_signals[SYNC_MESSAGE] = @@ -186,7 +186,7 @@ gst_bus_class_init (GstBusClass * klass) * @bus: the object which received the signal * @message: the message that has been posted asynchronously * - * A message has been posted on the bus. This signal is emited from a + * A message has been posted on the bus. This signal is emitted from a * GSource added to the mainloop. */ gst_bus_signals[ASYNC_MESSAGE] = diff --git a/gst/gstqueue.c b/gst/gstqueue.c index 1f47d800ea..6c64bfef24 100644 --- a/gst/gstqueue.c +++ b/gst/gstqueue.c @@ -824,7 +824,7 @@ restart: GST_DEBUG_OBJECT (queue, "pausing queue, reason %s", flowname); gst_pad_pause_task (queue->srcpad); } - } else { + } else if (GST_IS_EVENT (data)) { if (GST_EVENT_TYPE (data) == GST_EVENT_EOS) { queue->cur_level.buffers = 0; queue->cur_level.bytes = 0; @@ -841,6 +841,9 @@ restart: GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing); if (restart == TRUE) goto restart; + } else { + g_warning ("Unexpected object in queue %s (refcounting problem?)", + GST_OBJECT_NAME (queue)); } STATUS (queue, "after _get()"); diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c index 1f47d800ea..6c64bfef24 100644 --- a/plugins/elements/gstqueue.c +++ b/plugins/elements/gstqueue.c @@ -824,7 +824,7 @@ restart: GST_DEBUG_OBJECT (queue, "pausing queue, reason %s", flowname); gst_pad_pause_task (queue->srcpad); } - } else { + } else if (GST_IS_EVENT (data)) { if (GST_EVENT_TYPE (data) == GST_EVENT_EOS) { queue->cur_level.buffers = 0; queue->cur_level.bytes = 0; @@ -841,6 +841,9 @@ restart: GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing); if (restart == TRUE) goto restart; + } else { + g_warning ("Unexpected object in queue %s (refcounting problem?)", + GST_OBJECT_NAME (queue)); } STATUS (queue, "after _get()");