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:
Andy Wingo 2006-07-31 22:27:22 +00:00
parent 04547b69bc
commit 9457674bc0
2 changed files with 15 additions and 2 deletions

View file

@ -1,5 +1,9 @@
2006-08-01 Andy Wingo <wingo@pobox.com> 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.
* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No * ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No
more default sample rate, although we never check that the sample more default sample rate, although we never check that the sample
rate actually gets set. Something for the future. rate actually gets set. Something for the future.

View file

@ -237,6 +237,10 @@ gst_signal_processor_init (GstSignalProcessor * self,
self->audio_out = g_new0 (gfloat *, klass->num_audio_out); self->audio_out = g_new0 (gfloat *, klass->num_audio_out);
self->control_out = g_new0 (gfloat, klass->num_control_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; self->sample_rate = 0;
} }
@ -348,8 +352,11 @@ gst_signal_processor_process (GstSignalProcessor * self)
l1 = l1 ? l1->next : NULL, l2 = l2 ? l2->next : NULL) { l1 = l1 ? l1->next : NULL, l2 = l2 ? l2->next : NULL) {
GstSignalProcessorPad *srcpad, *sinkpad; GstSignalProcessorPad *srcpad, *sinkpad;
if (l1) if (l1) {
nframes = MIN (nframes, GST_BUFFER_SIZE (l1->data) / sizeof (gfloat)); GstSignalProcessorPad *tmp = (GstSignalProcessorPad *) l1->data;
nframes = MIN (nframes, GST_BUFFER_SIZE (tmp->pen) / sizeof (gfloat));
}
if (!l2) { if (!l2) {
/* the output buffers have been covered, yay -- just keep looping to check /* 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); klass = GST_SIGNAL_PROCESSOR_GET_CLASS (self);
GST_INFO_OBJECT (self, "process(%u)", nframes);
klass->process (self, nframes); klass->process (self, nframes);
/* reset */ /* reset */