summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/ladspa/gstsignalprocessor.c19
2 files changed, 14 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 81e35893..eb0fe28b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-07-31 Stefan Kost <ensonic@users.sf.net>
+
+ * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
+ (gst_signal_processor_process):
+ don't query buffer-frames from caps, add lots of debug-log,
+ try fix for assert (#349189)
+
2006-07-31 Wim Taymans <wim@fluendo.com>
* gst/udp/gstudpsrc.c:
diff --git a/ext/ladspa/gstsignalprocessor.c b/ext/ladspa/gstsignalprocessor.c
index ac86461d..8af3db99 100644
--- a/ext/ladspa/gstsignalprocessor.c
+++ b/ext/ladspa/gstsignalprocessor.c
@@ -272,27 +272,19 @@ gst_signal_processor_setcaps (GstPad * pad, GstCaps * caps)
/* FIXME: why this? */
if (caps != self->caps) {
GstStructure *s;
- gint sample_rate, buffer_frames;
+ gint sample_rate;
s = gst_caps_get_structure (caps, 0);
if (!gst_structure_get_int (s, "rate", &sample_rate)) {
GST_WARNING ("got no sample-rate");
return FALSE;
- } else
+ } else {
+ GST_DEBUG ("Got rate=%d", self->sample_rate);
self->sample_rate = sample_rate;
- if (!gst_structure_get_int (s, "buffer-frames", &buffer_frames)) {
- GST_WARNING ("got no buffer-frames");
- /* FIXME: this is not critical
- return FALSE;
- */
- } else
- self->buffer_frames = buffer_frames;
+ }
if (!klass->setup (self, sample_rate))
return FALSE;
-
- GST_DEBUG ("Got rate=%d, buffer-frames=%d", self->sample_rate,
- self->buffer_frames);
} else {
GST_DEBUG ("skipping, have caps already");
}
@@ -381,6 +373,9 @@ gst_signal_processor_process (GstSignalProcessor * self)
klass->process (self, self->buffer_frames);
+ self->pending_in = klass->num_audio_in;
+ GST_DEBUG ("pending in=%d, out=%d", self->pending_in, self->pending_out);
+
/* free unneeded input buffers */
for (l1 = elem->sinkpads; l1; l1 = l1->next) {