mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 15:08:53 +00:00
signalprocessor: add boolean return to _process
Avoid trying to push results if processing failed anyway.
This commit is contained in:
parent
cfcffe6a74
commit
05cbc5df9e
1 changed files with 7 additions and 8 deletions
|
@ -800,15 +800,15 @@ gst_signal_processor_update_outputs (GstSignalProcessor * self,
|
||||||
gst_signal_processor_interleave_group (&self->group_out[i], nprocessed);
|
gst_signal_processor_interleave_group (&self->group_out[i], nprocessed);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
gst_signal_processor_process (GstSignalProcessor * self, guint nframes)
|
gst_signal_processor_process (GstSignalProcessor * self, guint nframes)
|
||||||
{
|
{
|
||||||
GstElement *elem;
|
GstElement *elem;
|
||||||
GstSignalProcessorClass *klass;
|
GstSignalProcessorClass *klass;
|
||||||
|
|
||||||
/* check if we have buffers enqueued */
|
/* check if we have buffers enqueued */
|
||||||
g_return_if_fail (self->pending_in == 0);
|
g_return_val_if_fail (self->pending_in == 0, FALSE);
|
||||||
g_return_if_fail (self->pending_out == 0);
|
g_return_val_if_fail (self->pending_out == 0, FALSE);
|
||||||
|
|
||||||
elem = GST_ELEMENT (self);
|
elem = GST_ELEMENT (self);
|
||||||
|
|
||||||
|
@ -826,14 +826,14 @@ gst_signal_processor_process (GstSignalProcessor * self, guint nframes)
|
||||||
gst_signal_processor_update_inputs (self, nframes);
|
gst_signal_processor_update_inputs (self, nframes);
|
||||||
gst_signal_processor_update_outputs (self, nframes);
|
gst_signal_processor_update_outputs (self, nframes);
|
||||||
|
|
||||||
return;
|
return TRUE;
|
||||||
|
|
||||||
flow_error:
|
flow_error:
|
||||||
{
|
{
|
||||||
GST_WARNING_OBJECT (self,
|
GST_WARNING_OBJECT (self,
|
||||||
"gst_signal_processor_prepare() returned %d, flow_ref=%s", nframes,
|
"gst_signal_processor_prepare() returned %d, flow_ref=%s", nframes,
|
||||||
gst_flow_get_name (self->flow_state));
|
gst_flow_get_name (self->flow_state));
|
||||||
return;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1032,9 +1032,8 @@ gst_signal_processor_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
gst_signal_processor_pen_buffer (self, pad, buffer);
|
gst_signal_processor_pen_buffer (self, pad, buffer);
|
||||||
|
|
||||||
if (self->pending_in == 0) {
|
if (self->pending_in == 0) {
|
||||||
gst_signal_processor_process (self, G_MAXUINT);
|
if (gst_signal_processor_process (self, G_MAXUINT))
|
||||||
|
gst_signal_processor_do_pushes (self);
|
||||||
gst_signal_processor_do_pushes (self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_object_unref (self);
|
gst_object_unref (self);
|
||||||
|
|
Loading…
Reference in a new issue