From 6863dd92408eb5bd758e6c297324e6b2dc81042b Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sat, 20 Apr 2002 21:42:51 +0000 Subject: a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br... Original commit message from CVS: * a hack to work around intltool's brokenness * a current check for mpeg2dec * details->klass reorganizations * an element browser that uses details->klass * separated cdxa parse out from the avi directory --- ext/ladspa/gstladspa.c | 16 +++++++--------- ext/ladspa/gstladspa.h | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'ext/ladspa') diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c index 081f03d8..4ad7d3fd 100644 --- a/ext/ladspa/gstladspa.c +++ b/ext/ladspa/gstladspa.c @@ -398,6 +398,7 @@ gst_ladspa_init (GstLADSPA *ladspa) ladspa->newcaps = FALSE; ladspa->activated = FALSE; ladspa->bufpool = NULL; + ladspa->inplace_broken = LADSPA_IS_INPLACE_BROKEN(ladspa->descriptor->Properties); if (sinkcount==0 && srccount == 1) { /* get mode (no sink pads) */ @@ -719,7 +720,6 @@ gst_ladspa_loop(GstElement *element) GstBuffer **buffers_in, **buffers_out; GstBufferPool *bufpool; GstByteStream **bytestreams; - gboolean inplace_broken; GstLADSPA *ladspa = (GstLADSPA *)element; GstLADSPAClass *oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (ladspa)); @@ -799,7 +799,7 @@ gst_ladspa_loop(GstElement *element) /* we now have a full set of buffers_in. * now share or create the buffers_out */ for (i=0 ; iinplace_broken){ /* we can share buffers */ buffers_out[i] = buffers_in[i]; data_out[i] = data_in[i]; @@ -845,7 +845,7 @@ gst_ladspa_loop(GstElement *element) buffers_out[i] = NULL; } for (i=0 ; i numsrcpads || inplace_broken){ + if (i > numsrcpads || ladspa->inplace_broken){ /* we have some buffers to unref */ gst_buffer_unref(buffers_in[i]); } @@ -873,11 +873,10 @@ static void gst_ladspa_chain (GstPad *pad, GstBuffer *buf) { LADSPA_Descriptor *desc; - LADSPA_Data *data_in, **data_out; - GstBuffer **buffers_out; + LADSPA_Data *data_in, **data_out = NULL; + GstBuffer **buffers_out = NULL; unsigned long num_samples; - gboolean inplace_broken; guint num_to_process, num_processed, i, numsrcpads; GstLADSPA *ladspa; @@ -909,13 +908,12 @@ gst_ladspa_chain (GstPad *pad, GstBuffer *buf) desc = ladspa->descriptor; - inplace_broken = LADSPA_IS_INPLACE_BROKEN(desc->Properties); if (numsrcpads > 0){ guint num_created_buffers = 0; buffers_out = g_new(GstBuffer*, numsrcpads); data_out = g_new(LADSPA_Data*, numsrcpads); - if (inplace_broken){ + if (ladspa->inplace_broken){ num_created_buffers = numsrcpads; } else { @@ -1077,7 +1075,7 @@ ladspa_describe_plugin(const char *pcFullFilename, /* construct the element details struct */ details = g_new0(GstElementDetails,1); details->longname = g_strdup(desc->Name); - details->klass = "Filter/LADSPA"; + details->klass = "Filter/Audio/LADSPA"; details->description = details->longname; details->version = g_strdup_printf("%ld",desc->UniqueID); details->author = g_strdup(desc->Maker); diff --git a/ext/ladspa/gstladspa.h b/ext/ladspa/gstladspa.h index 18357585..c7021a62 100644 --- a/ext/ladspa/gstladspa.h +++ b/ext/ladspa/gstladspa.h @@ -66,7 +66,7 @@ struct _GstLADSPA { gint samplerate, buffersize, numbuffers; gint64 timestamp; - + gboolean inplace_broken; }; struct _GstLADSPAClass { -- cgit v1.2.1