mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
Fix classification in GstElementDetails.
Original commit message from CVS: * ext/alsaspdif/alsaspdifsink.c: * gst/nsf/gstnsf.c: Fix classification in GstElementDetails. * ext/ladspa/gstladspa.c: (gst_ladspa_base_init), (gst_ladspa_class_init): Improve Klassification and reduce code slighly.
This commit is contained in:
parent
385bba644f
commit
75337844d9
4 changed files with 50 additions and 47 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2007-01-31 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
|
* ext/alsaspdif/alsaspdifsink.c:
|
||||||
|
* gst/nsf/gstnsf.c:
|
||||||
|
Fix classification in GstElementDetails.
|
||||||
|
|
||||||
|
* ext/ladspa/gstladspa.c: (gst_ladspa_base_init),
|
||||||
|
(gst_ladspa_class_init):
|
||||||
|
Improve Klassification and reduce code slighly.
|
||||||
|
|
||||||
2007-01-30 Edward Hervey <edward@fluendo.com>
|
2007-01-30 Edward Hervey <edward@fluendo.com>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|
|
@ -71,7 +71,7 @@ GST_DEBUG_CATEGORY_STATIC (alsaspdifsink_debug);
|
||||||
/* ElementFactory information. */
|
/* ElementFactory information. */
|
||||||
static GstElementDetails alsaspdifsink_details = {
|
static GstElementDetails alsaspdifsink_details = {
|
||||||
"S/PDIF ALSA audiosink",
|
"S/PDIF ALSA audiosink",
|
||||||
"audio/x-iec958",
|
"Sink/Audio",
|
||||||
"Feeds audio to S/PDIF interfaces through the ALSA sound driver",
|
"Feeds audio to S/PDIF interfaces through the ALSA sound driver",
|
||||||
"Martin Soto <martinsoto@users.sourceforge.net>\n"
|
"Martin Soto <martinsoto@users.sourceforge.net>\n"
|
||||||
"Michael Smith <msmith@fluendo.com>"
|
"Michael Smith <msmith@fluendo.com>"
|
||||||
|
|
|
@ -69,7 +69,7 @@ gst_ladspa_base_init (gpointer g_class)
|
||||||
GstSignalProcessorClass *gsp_class = GST_SIGNAL_PROCESSOR_CLASS (g_class);
|
GstSignalProcessorClass *gsp_class = GST_SIGNAL_PROCESSOR_CLASS (g_class);
|
||||||
GstElementDetails *details;
|
GstElementDetails *details;
|
||||||
LADSPA_Descriptor *desc;
|
LADSPA_Descriptor *desc;
|
||||||
gint j, sinkcount, srccount;
|
guint j, audio_in_count, audio_out_count, control_in_count, control_out_count;
|
||||||
|
|
||||||
GST_DEBUG ("base_init %p", g_class);
|
GST_DEBUG ("base_init %p", g_class);
|
||||||
|
|
||||||
|
@ -84,7 +84,9 @@ gst_ladspa_base_init (gpointer g_class)
|
||||||
/* pad templates */
|
/* pad templates */
|
||||||
gsp_class->num_audio_in = 0;
|
gsp_class->num_audio_in = 0;
|
||||||
gsp_class->num_audio_out = 0;
|
gsp_class->num_audio_out = 0;
|
||||||
/* control gets set in the class init */
|
/* properties */
|
||||||
|
gsp_class->num_control_in = 0;
|
||||||
|
gsp_class->num_control_out = 0;
|
||||||
|
|
||||||
for (j = 0; j < desc->PortCount; j++) {
|
for (j = 0; j < desc->PortCount; j++) {
|
||||||
LADSPA_PortDescriptor p = desc->PortDescriptors[j];
|
LADSPA_PortDescriptor p = desc->PortDescriptors[j];
|
||||||
|
@ -103,6 +105,11 @@ gst_ladspa_base_init (gpointer g_class)
|
||||||
else
|
else
|
||||||
gst_signal_processor_class_add_pad_template (gsp_class, name,
|
gst_signal_processor_class_add_pad_template (gsp_class, name,
|
||||||
GST_PAD_SRC, gsp_class->num_audio_out++);
|
GST_PAD_SRC, gsp_class->num_audio_out++);
|
||||||
|
} else if (LADSPA_IS_PORT_CONTROL (p)) {
|
||||||
|
if (LADSPA_IS_PORT_INPUT (p))
|
||||||
|
gsp_class->num_control_in++;
|
||||||
|
else
|
||||||
|
gsp_class->num_control_out++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,27 +122,46 @@ gst_ladspa_base_init (gpointer g_class)
|
||||||
details->author = g_locale_to_utf8 (desc->Maker, -1, NULL, NULL, NULL);
|
details->author = g_locale_to_utf8 (desc->Maker, -1, NULL, NULL, NULL);
|
||||||
if (!details->author)
|
if (!details->author)
|
||||||
details->author = g_strdup ("no author available");
|
details->author = g_strdup ("no author available");
|
||||||
|
|
||||||
if (gsp_class->num_audio_in == 0)
|
if (gsp_class->num_audio_in == 0)
|
||||||
details->klass = "Source/Audio/LADSPA";
|
details->klass = "Source/Audio/LADSPA";
|
||||||
else if (gsp_class->num_audio_out == 0)
|
else if (gsp_class->num_audio_out == 0) {
|
||||||
|
if (gsp_class->num_control_out == 0)
|
||||||
details->klass = "Sink/Audio/LADSPA";
|
details->klass = "Sink/Audio/LADSPA";
|
||||||
else
|
else
|
||||||
|
details->klass = "Sink/Analyzer/Audio/LADSPA";
|
||||||
|
} else
|
||||||
details->klass = "Filter/Effect/Audio/LADSPA";
|
details->klass = "Filter/Effect/Audio/LADSPA";
|
||||||
gst_element_class_set_details (element_class, details);
|
gst_element_class_set_details (element_class, details);
|
||||||
|
|
||||||
klass->audio_in_portnums = g_new0 (gint, gsp_class->num_audio_in);
|
klass->audio_in_portnums = g_new0 (gint, gsp_class->num_audio_in);
|
||||||
klass->audio_out_portnums = g_new0 (gint, gsp_class->num_audio_out);
|
klass->audio_out_portnums = g_new0 (gint, gsp_class->num_audio_out);
|
||||||
|
klass->control_in_portnums = g_new0 (gint, gsp_class->num_control_in);
|
||||||
|
klass->control_out_portnums = g_new0 (gint, gsp_class->num_control_out);
|
||||||
|
|
||||||
|
audio_in_count = audio_out_count = control_in_count = control_out_count = 0;
|
||||||
|
|
||||||
sinkcount = srccount = 0;
|
|
||||||
for (j = 0; j < desc->PortCount; j++) {
|
for (j = 0; j < desc->PortCount; j++) {
|
||||||
if (LADSPA_IS_PORT_AUDIO (desc->PortDescriptors[j])) {
|
LADSPA_PortDescriptor p = desc->PortDescriptors[j];
|
||||||
if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[j]))
|
|
||||||
klass->audio_in_portnums[sinkcount++] = j;
|
if (LADSPA_IS_PORT_AUDIO (p)) {
|
||||||
|
if (LADSPA_IS_PORT_INPUT (p))
|
||||||
|
klass->audio_in_portnums[audio_in_count++] = j;
|
||||||
else
|
else
|
||||||
klass->audio_out_portnums[srccount++] = j;
|
klass->audio_out_portnums[audio_out_count++] = j;
|
||||||
|
} else if (LADSPA_IS_PORT_CONTROL (p)) {
|
||||||
|
if (LADSPA_IS_PORT_INPUT (p))
|
||||||
|
klass->control_in_portnums[control_in_count++] = j;
|
||||||
|
else
|
||||||
|
klass->control_out_portnums[control_out_count++] = j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_assert (audio_in_count == gsp_class->num_audio_in);
|
||||||
|
g_assert (audio_out_count == gsp_class->num_audio_out);
|
||||||
|
g_assert (control_in_count == gsp_class->num_control_in);
|
||||||
|
g_assert (control_out_count == gsp_class->num_control_out);
|
||||||
|
|
||||||
if (!LADSPA_IS_INPLACE_BROKEN (desc->Properties))
|
if (!LADSPA_IS_INPLACE_BROKEN (desc->Properties))
|
||||||
GST_SIGNAL_PROCESSOR_CLASS_SET_CAN_PROCESS_IN_PLACE (klass);
|
GST_SIGNAL_PROCESSOR_CLASS_SET_CAN_PROCESS_IN_PLACE (klass);
|
||||||
|
|
||||||
|
@ -291,8 +317,7 @@ gst_ladspa_class_init (GstLADSPAClass * klass)
|
||||||
{
|
{
|
||||||
GObjectClass *gobject_class;
|
GObjectClass *gobject_class;
|
||||||
GstSignalProcessorClass *gsp_class;
|
GstSignalProcessorClass *gsp_class;
|
||||||
LADSPA_Descriptor *desc;
|
gint i;
|
||||||
gint i, control_in_count, control_out_count;
|
|
||||||
|
|
||||||
GST_DEBUG ("class_init %p", klass);
|
GST_DEBUG ("class_init %p", klass);
|
||||||
|
|
||||||
|
@ -307,39 +332,7 @@ gst_ladspa_class_init (GstLADSPAClass * klass)
|
||||||
gsp_class->cleanup = gst_ladspa_cleanup;
|
gsp_class->cleanup = gst_ladspa_cleanup;
|
||||||
gsp_class->process = gst_ladspa_process;
|
gsp_class->process = gst_ladspa_process;
|
||||||
|
|
||||||
desc = klass->descriptor;
|
/* register properties */
|
||||||
g_assert (desc);
|
|
||||||
|
|
||||||
gsp_class->num_control_in = 0;
|
|
||||||
gsp_class->num_control_out = 0;
|
|
||||||
|
|
||||||
for (i = 0; i < desc->PortCount; i++) {
|
|
||||||
LADSPA_PortDescriptor p = desc->PortDescriptors[i];
|
|
||||||
|
|
||||||
if (!LADSPA_IS_PORT_AUDIO (p)) {
|
|
||||||
if (LADSPA_IS_PORT_INPUT (p))
|
|
||||||
gsp_class->num_control_in++;
|
|
||||||
else
|
|
||||||
gsp_class->num_control_out++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
klass->control_in_portnums = g_new0 (gint, gsp_class->num_control_in);
|
|
||||||
klass->control_out_portnums = g_new0 (gint, gsp_class->num_control_out);
|
|
||||||
|
|
||||||
control_in_count = control_out_count = 0;
|
|
||||||
for (i = 0; i < desc->PortCount; i++) {
|
|
||||||
LADSPA_PortDescriptor p = desc->PortDescriptors[i];
|
|
||||||
|
|
||||||
if (!LADSPA_IS_PORT_AUDIO (p)) {
|
|
||||||
if (LADSPA_IS_PORT_INPUT (p))
|
|
||||||
klass->control_in_portnums[control_in_count++] = i;
|
|
||||||
else
|
|
||||||
klass->control_out_portnums[control_out_count++] = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
g_assert (control_in_count == gsp_class->num_control_in);
|
|
||||||
g_assert (control_out_count == gsp_class->num_control_out);
|
|
||||||
|
|
||||||
for (i = 0; i < gsp_class->num_control_in; i++) {
|
for (i = 0; i < gsp_class->num_control_in; i++) {
|
||||||
GParamSpec *p;
|
GParamSpec *p;
|
||||||
|
|
|
@ -31,7 +31,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||||
|
|
||||||
static const GstElementDetails gst_nsfdec_details =
|
static const GstElementDetails gst_nsfdec_details =
|
||||||
GST_ELEMENT_DETAILS ("Nsf decoder",
|
GST_ELEMENT_DETAILS ("Nsf decoder",
|
||||||
"Codec/Audio/Decoder",
|
"Codec/Decoder/Audio",
|
||||||
"Using nosefart to decode NSF audio tunes",
|
"Using nosefart to decode NSF audio tunes",
|
||||||
"Johan Dahlin <johan@gnome.org>");
|
"Johan Dahlin <johan@gnome.org>");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue