matroska: add GstToc support for muxer
[platform/upstream/gstreamer.git] / gst / audiofx / audiofx.c
1 /*
2  * GStreamer
3  * Copyright (C) 2006 Stefan Kost <ensonic@users.sf.net>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifdef HAVE_CONFIG_H
22 #include "config.h"
23 #endif
24
25 #include <gst/gst.h>
26 #include <gst/controller/gstcontroller.h>
27
28 #include "audiopanorama.h"
29 #include "audioinvert.h"
30 #include "audiokaraoke.h"
31 #include "audioamplify.h"
32 #include "audiodynamic.h"
33 #include "audiocheblimit.h"
34 #include "audiochebband.h"
35 #include "audioiirfilter.h"
36 #include "audiowsincband.h"
37 #include "audiowsinclimit.h"
38 #include "audiofirfilter.h"
39 #include "audioecho.h"
40
41 /* entry point to initialize the plug-in
42  * initialize the plug-in itself
43  * register the element factories and pad templates
44  * register the features
45  */
46 static gboolean
47 plugin_init (GstPlugin * plugin)
48 {
49   /* initialize gst controller library */
50   gst_controller_init (NULL, NULL);
51
52   return (gst_element_register (plugin, "audiopanorama", GST_RANK_NONE,
53           GST_TYPE_AUDIO_PANORAMA) &&
54       gst_element_register (plugin, "audioinvert", GST_RANK_NONE,
55           GST_TYPE_AUDIO_INVERT) &&
56       gst_element_register (plugin, "audiokaraoke", GST_RANK_NONE,
57           GST_TYPE_AUDIO_KARAOKE) &&
58       gst_element_register (plugin, "audioamplify", GST_RANK_NONE,
59           GST_TYPE_AUDIO_AMPLIFY) &&
60       gst_element_register (plugin, "audiodynamic", GST_RANK_NONE,
61           GST_TYPE_AUDIO_DYNAMIC) &&
62       gst_element_register (plugin, "audiocheblimit", GST_RANK_NONE,
63           GST_TYPE_AUDIO_CHEB_LIMIT) &&
64       gst_element_register (plugin, "audiochebband", GST_RANK_NONE,
65           GST_TYPE_AUDIO_CHEB_BAND) &&
66       gst_element_register (plugin, "audioiirfilter", GST_RANK_NONE,
67           GST_TYPE_AUDIO_IIR_FILTER) &&
68       gst_element_register (plugin, "audiowsinclimit", GST_RANK_NONE,
69           GST_TYPE_AUDIO_WSINC_LIMIT) &&
70       gst_element_register (plugin, "audiowsincband", GST_RANK_NONE,
71           GST_TYPE_AUDIO_WSINC_BAND) &&
72       gst_element_register (plugin, "audiofirfilter", GST_RANK_NONE,
73           GST_TYPE_AUDIO_FIR_FILTER) &&
74       gst_element_register (plugin, "audioecho", GST_RANK_NONE,
75           GST_TYPE_AUDIO_ECHO));
76 }
77
78 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
79     GST_VERSION_MINOR,
80     "audiofx",
81     "Audio effects plugin",
82     plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)