[gst-plugins-farsight/master] Ignore errors if dropping is set to true
Olivier Crête
olivier.crete at collabora.co.uk
Tue Jan 6 12:10:26 PST 2009
---
gst/valve/gstvalve.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/gst/valve/gstvalve.c b/gst/valve/gstvalve.c
index ecd0f7d..a61e009 100644
--- a/gst/valve/gstvalve.c
+++ b/gst/valve/gstvalve.c
@@ -204,6 +204,12 @@ gst_valve_chain (GstPad *pad, GstBuffer *buffer)
else
ret = gst_pad_push (valve->srcpad, buffer);
+
+ GST_OBJECT_LOCK (GST_OBJECT (valve));
+ if (valve->drop)
+ ret = GST_FLOW_OK;
+ GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
gst_object_unref (valve);
return ret;
@@ -226,6 +232,11 @@ gst_valve_event (GstPad *pad, GstEvent *event)
else
ret = gst_pad_push_event (valve->srcpad, event);
+ GST_OBJECT_LOCK (GST_OBJECT (valve));
+ if (valve->drop)
+ ret = TRUE;
+ GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
gst_object_unref (valve);
return ret;
}
@@ -247,6 +258,11 @@ gst_valve_buffer_alloc (GstPad * pad, guint64 offset, guint size,
else
ret = gst_pad_alloc_buffer (valve->srcpad, offset, size, caps, buf);
+ GST_OBJECT_LOCK (GST_OBJECT (valve));
+ if (valve->drop)
+ ret = GST_FLOW_OK;
+ GST_OBJECT_UNLOCK (GST_OBJECT (valve));
+
gst_object_unref (valve);
return ret;
--
1.5.6.5
More information about the farsight-commits
mailing list