summaryrefslogtreecommitdiffstats
path: root/ext/ladspa/gstladspa.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ladspa/gstladspa.c')
-rw-r--r--ext/ladspa/gstladspa.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/ladspa/gstladspa.c b/ext/ladspa/gstladspa.c
index 66109002..dbf9f933 100644
--- a/ext/ladspa/gstladspa.c
+++ b/ext/ladspa/gstladspa.c
@@ -70,6 +70,8 @@ gst_ladspa_base_init (gpointer g_class)
LADSPA_Descriptor *desc;
gint j, sinkcount, srccount;
+ GST_DEBUG ("base_init %p", g_class);
+
desc = g_hash_table_lookup (ladspa_descriptors,
GINT_TO_POINTER (G_TYPE_FROM_CLASS (klass)));
if (!desc)
@@ -186,7 +188,7 @@ gst_ladspa_class_get_param_spec (GstLADSPAClass * klass, gint portnum)
name = gst_ladspa_class_get_param_name (klass, portnum);
perms = G_PARAM_READABLE;
if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[portnum]))
- perms |= G_PARAM_WRITABLE;
+ perms |= G_PARAM_WRITABLE | G_PARAM_CONSTRUCT;
/* short name for hint descriptor */
hintdesc = desc->PortRangeHints[portnum].HintDescriptor;
@@ -283,6 +285,8 @@ gst_ladspa_class_init (GstLADSPAClass * klass)
LADSPA_Descriptor *desc;
gint i, control_in_count, control_out_count;
+ GST_DEBUG ("class_init %p", klass);
+
gobject_class = (GObjectClass *) klass;
gobject_class->set_property = gst_ladspa_set_property;
gobject_class->get_property = gst_ladspa_get_property;
@@ -349,12 +353,11 @@ gst_ladspa_class_init (GstLADSPAClass * klass)
}
static void
-gst_ladspa_init (GstLADSPA * ladspa)
+gst_ladspa_init (GstLADSPA * ladspa, GstLADSPAClass * klass)
{
/* whoopee, nothing to do */
- ladspa->descriptor =
- ((GstLADSPAClass *) G_OBJECT_GET_CLASS (ladspa))->descriptor;
+ ladspa->descriptor = klass->descriptor;
ladspa->activated = FALSE;
ladspa->inplace_broken =
LADSPA_IS_INPLACE_BROKEN (ladspa->descriptor->Properties);