fsvalve: Ignore errors if dropping is set to true

This commit is contained in:
Olivier Crête 2008-12-13 00:31:45 -05:00 committed by Tim-Philipp Müller
parent a3d21f7147
commit fc4deda3aa

View file

@ -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;