From b8206860b06e200233032fc6533fa7d849441682 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sat, 26 Nov 2005 11:34:15 +0000 Subject: [PATCH] gst/audiorate/gstaudiorate.c: Properly return GstFlowReturn from gst_pad_push in chain functions. Original commit message from CVS: * gst/audiorate/gstaudiorate.c: (gst_audiorate_chain): Properly return GstFlowReturn from gst_pad_push in chain functions. --- ChangeLog | 5 +++++ gst/audiorate/gstaudiorate.c | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 58f5258..1328494 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-11-26 Edward Hervey + + * gst/audiorate/gstaudiorate.c: (gst_audiorate_chain): + Properly return GstFlowReturn from gst_pad_push in chain functions. + 2005-11-25 Michael Smith * ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_convert), diff --git a/gst/audiorate/gstaudiorate.c b/gst/audiorate/gstaudiorate.c index 3959f04..2abc7e9 100644 --- a/gst/audiorate/gstaudiorate.c +++ b/gst/audiorate/gstaudiorate.c @@ -247,6 +247,7 @@ gst_audiorate_chain (GstPad * pad, GstBuffer * buf) GstClockTime in_time, in_duration; guint64 in_offset, in_offset_end; gint in_size; + GstFlowReturn ret = GST_FLOW_OK; audiorate = GST_AUDIORATE (gst_pad_get_parent (pad)); @@ -281,7 +282,8 @@ gst_audiorate_chain (GstPad * pad, GstBuffer * buf) GST_BUFFER_OFFSET (fill) = audiorate->next_offset; GST_BUFFER_OFFSET_END (fill) = in_offset; - gst_pad_push (audiorate->srcpad, fill); + if ((ret = gst_pad_push (audiorate->srcpad, fill) != GST_FLOW_OK)) + goto beach; audiorate->out++; audiorate->add += fillsamples; @@ -302,7 +304,7 @@ gst_audiorate_chain (GstPad * pad, GstBuffer * buf) if (!audiorate->silent) g_object_notify (G_OBJECT (audiorate), "drop"); - return GST_FLOW_OK; + goto beach; } else { guint64 truncsamples, truncsize, leftsize; GstBuffer *trunc; @@ -327,11 +329,12 @@ gst_audiorate_chain (GstPad * pad, GstBuffer * buf) audiorate->drop += truncsamples; } } - gst_pad_push (audiorate->srcpad, buf); + ret = gst_pad_push (audiorate->srcpad, buf); audiorate->out++; audiorate->next_offset = in_offset_end; - return GST_FLOW_OK; +beach: + return ret; } static void -- 2.7.4