From 5ae71a7400abc29a1e7acdf008bc3032faaa8235 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Thu, 12 Feb 2004 18:18:50 +0000 Subject: fixes for #133316, #133663 and #133528 (Stefan Kost) Original commit message from CVS: fixes for #133316, #133663 and #133528 (Stefan Kost) --- ext/ladspa/gstladspa.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'ext/ladspa') diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c index ff2711fc..020767fa 100644 --- a/ext/ladspa/gstladspa.c +++ b/ext/ladspa/gstladspa.c @@ -92,14 +92,6 @@ gst_ladspa_base_init (GstLADSPAClass *klass) desc = g_hash_table_lookup(ladspa_descriptors, GINT_TO_POINTER(0)); g_assert (desc); - /* construct the element details struct */ - details = g_new0(GstElementDetails,1); - details->longname = g_strdup(desc->Name); - details->klass = "Filter/Effect/Audio/LADSPA"; - details->description = details->longname; - details->author = g_strdup(desc->Maker); - gst_element_class_set_details (element_class, details); - /* pad templates */ klass->numports = desc->PortCount; klass->numsinkpads = 0; @@ -124,6 +116,17 @@ gst_ladspa_base_init (GstLADSPAClass *klass) } } + /* construct the element details struct */ + details = g_new0(GstElementDetails,1); + details->longname = g_strdup(desc->Name); + details->description = details->longname; + details->author = g_strdup(desc->Maker); + if ((klass->numsinkpads >0) && (klass->numsrcpads >0)) details->klass = "Filter/Effect/Audio/LADSPA"; + else if((klass->numsinkpads==0) && (klass->numsrcpads >0)) details->klass = "Source/Audio/LADSPA"; + else if((klass->numsinkpads >0) && (klass->numsrcpads==0)) details->klass = "Sink/Audio/LADSPA"; + else details->klass = "Filter/Effect/Audio/LADSPA"; /* whatever this is */ + gst_element_class_set_details (element_class, details); + klass->srcpad_portnums = g_new0(gint,klass->numsrcpads); klass->sinkpad_portnums = g_new0(gint,klass->numsinkpads); sinkcount = 0; -- cgit