mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process): Fix nframes-choosing.
Original commit message from CVS: 2006-08-01 Andy Wingo <wingo@pobox.com> * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process): Fix nframes-choosing. (gst_signal_processor_init): Init pending_in and pending_out.
This commit is contained in:
parent
199ffb130f
commit
c98740d77a
1 changed files with 11 additions and 2 deletions
|
@ -237,6 +237,10 @@ gst_signal_processor_init (GstSignalProcessor * self,
|
|||
self->audio_out = g_new0 (gfloat *, klass->num_audio_out);
|
||||
self->control_out = g_new0 (gfloat, klass->num_control_out);
|
||||
|
||||
/* init */
|
||||
self->pending_in = klass->num_audio_in;
|
||||
self->pending_out = 0;
|
||||
|
||||
self->sample_rate = 0;
|
||||
}
|
||||
|
||||
|
@ -348,8 +352,11 @@ gst_signal_processor_process (GstSignalProcessor * self)
|
|||
l1 = l1 ? l1->next : NULL, l2 = l2 ? l2->next : NULL) {
|
||||
GstSignalProcessorPad *srcpad, *sinkpad;
|
||||
|
||||
if (l1)
|
||||
nframes = MIN (nframes, GST_BUFFER_SIZE (l1->data) / sizeof (gfloat));
|
||||
if (l1) {
|
||||
GstSignalProcessorPad *tmp = (GstSignalProcessorPad *) l1->data;
|
||||
|
||||
nframes = MIN (nframes, GST_BUFFER_SIZE (tmp->pen) / sizeof (gfloat));
|
||||
}
|
||||
|
||||
if (!l2) {
|
||||
/* the output buffers have been covered, yay -- just keep looping to check
|
||||
|
@ -395,6 +402,8 @@ gst_signal_processor_process (GstSignalProcessor * self)
|
|||
|
||||
klass = GST_SIGNAL_PROCESSOR_GET_CLASS (self);
|
||||
|
||||
GST_INFO_OBJECT (self, "process(%u)", nframes);
|
||||
|
||||
klass->process (self, nframes);
|
||||
|
||||
/* reset */
|
||||
|
|
Loading…
Reference in a new issue