summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/app/gstappsink.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst-libs/gst/app/gstappsink.c b/gst-libs/gst/app/gstappsink.c
index e7baf63e..ee8c9190 100644
--- a/gst-libs/gst/app/gstappsink.c
+++ b/gst-libs/gst/app/gstappsink.c
@@ -167,11 +167,13 @@ gst_app_sink_get_property (GObject * object, guint prop_id, GValue * value,
static void
gst_app_sink_flush_unlocked (GstAppSink * appsink)
{
+ GstBuffer *buffer;
+
GST_DEBUG_OBJECT (appsink, "flushing appsink");
appsink->end_of_stream = FALSE;
gst_buffer_replace (&appsink->preroll, NULL);
- g_queue_foreach (appsink->queue, (GFunc) gst_mini_object_unref, NULL);
- g_queue_clear (appsink->queue);
+ while ((buffer = g_queue_pop_head (appsink->queue)))
+ gst_buffer_unref (buffer);
g_cond_signal (appsink->cond);
}