+2005-11-26 Edward Hervey <edward@fluendo.com>
+
+ * gst/audiorate/gstaudiorate.c: (gst_audiorate_chain):
+ Properly return GstFlowReturn from gst_pad_push in chain functions.
+
2005-11-25 Michael Smith <msmith@fluendo.com>
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_convert),
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));
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;
if (!audiorate->silent)
g_object_notify (G_OBJECT (audiorate), "drop");
- return GST_FLOW_OK;
+ goto beach;
} else {
guint64 truncsamples, truncsize, leftsize;
GstBuffer *trunc;
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