extern GstPadTemplate *alawdec_src_template, *alawdec_sink_template;
+/* elementfactory information */
+static GstElementDetails alawdec_details = {
+ "A Law to PCM conversion",
+ "Codec/Audio/Decoder",
+ "Convert 8bit A law to 16bit PCM",
+ "Zaheer Merali <zaheer@bellworldwide.net>"
+};
/* Stereo signals and args */
enum {
};
static void gst_alawdec_class_init (GstALawDecClass *klass);
+static void gst_alawdec_base_init (GstALawDecClass *klass);
static void gst_alawdec_init (GstALawDec *alawdec);
static void gst_alawdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
if (!alawdec_type) {
static const GTypeInfo alawdec_info = {
- sizeof(GstALawDecClass), NULL,
+ sizeof(GstALawDecClass),
+ (GBaseInitFunc)gst_alawdec_base_init,
NULL,
(GClassInitFunc)gst_alawdec_class_init,
NULL,
}
static void
+gst_alawdec_base_init (GstALawDecClass *klass)
+{
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
+ gst_element_class_add_pad_template (element_class, alawdec_src_template);
+ gst_element_class_add_pad_template (element_class, alawdec_sink_template);
+ gst_element_class_set_details (element_class, &alawdec_details);
+}
+
+static void
gst_alawdec_class_init (GstALawDecClass *klass)
{
GObjectClass *gobject_class;
extern GstPadTemplate *alawenc_src_template, *alawenc_sink_template;
+/* elementfactory information */
+static GstElementDetails alawenc_details = {
+ "PCM to A Law conversion",
+ "Codec/Audio/Encoder",
+ "Convert 16bit PCM to 8bit A law",
+ "Zaheer Merali <zaheer@bellworldwide.net>"
+};
/* Stereo signals and args */
enum {
};
static void gst_alawenc_class_init (GstALawEncClass *klass);
+static void gst_alawenc_base_init (GstALawEncClass *klass);
static void gst_alawenc_init (GstALawEnc *alawenc);
static void gst_alawenc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
if (!alawenc_type) {
static const GTypeInfo alawenc_info = {
- sizeof(GstALawEncClass), NULL,
+ sizeof(GstALawEncClass),
+ (GBaseInitFunc)gst_alawenc_base_init,
NULL,
(GClassInitFunc)gst_alawenc_class_init,
NULL,
}
static void
+gst_alawenc_base_init (GstALawEncClass *klass)
+{
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
+ gst_element_class_add_pad_template (element_class, alawenc_src_template);
+ gst_element_class_add_pad_template (element_class, alawenc_sink_template);
+ gst_element_class_set_details (element_class, &alawenc_details);
+}
+
+static void
gst_alawenc_class_init (GstALawEncClass *klass)
{
GObjectClass *gobject_class;
#include "alaw-encode.h"
#include "alaw-decode.h"
-/* elementfactory information */
-static GstElementDetails alawenc_details = {
- "PCM to A Law conversion",
- "Codec/Audio/Encoder",
- "LGPL",
- "Convert 16bit PCM to 8bit A law",
- VERSION,
- "Zaheer Merali <zaheer@bellworldwide.net>",
- "(C) 2001"
-};
-
-/* elementfactory information */
-static GstElementDetails alawdec_details = {
- "A Law to PCM conversion",
- "Codec/Audio/Decoder",
- "LGPL",
- "Convert 8bit A law to 16bit PCM",
- VERSION,
- "Zaheer Merali <zaheer@bellworldwide.net>",
- "(C) 2001"
-};
-
static GstCaps*
alaw_factory (void)
{
GstPadTemplate *alawdec_src_template, *alawdec_sink_template;
static gboolean
-plugin_init (GModule *module, GstPlugin *plugin)
+plugin_init (GstPlugin *plugin)
{
- GstElementFactory *alawenc_factory, *alawdec_factory;
GstCaps* alaw_caps, *linear_caps;
- alawenc_factory = gst_element_factory_new("alawenc",GST_TYPE_ALAWENC,
- &alawenc_details);
- g_return_val_if_fail(alawenc_factory != NULL, FALSE);
- alawdec_factory = gst_element_factory_new("alawdec",GST_TYPE_ALAWDEC,
- &alawdec_details);
- g_return_val_if_fail(alawdec_factory != NULL, FALSE);
- gst_element_factory_set_rank (alawdec_factory, GST_ELEMENT_RANK_PRIMARY);
-
alaw_caps = alaw_factory ();
linear_caps = linear_factory ();
alawenc_src_template = gst_pad_template_new ("src",GST_PAD_SRC,GST_PAD_ALWAYS,alaw_caps, NULL);
alawenc_sink_template = gst_pad_template_new ("sink",GST_PAD_SINK,GST_PAD_ALWAYS,linear_caps, NULL);
- gst_element_factory_add_pad_template (alawenc_factory, alawenc_src_template);
- gst_element_factory_add_pad_template (alawenc_factory, alawenc_sink_template);
alawdec_src_template = gst_pad_template_new ("src",GST_PAD_SRC,GST_PAD_ALWAYS,linear_caps, NULL);
alawdec_sink_template = gst_pad_template_new ("sink",GST_PAD_SINK,GST_PAD_ALWAYS,alaw_caps, NULL);
- gst_element_factory_add_pad_template (alawdec_factory, alawdec_src_template);
- gst_element_factory_add_pad_template (alawdec_factory, alawdec_sink_template);
- gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (alawenc_factory));
- gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (alawdec_factory));
+ if (!gst_element_register (plugin, "alawenc",
+ GST_RANK_NONE, GST_TYPE_ALAWENC) ||
+ !gst_element_register (plugin, "alawdec",
+ GST_RANK_PRIMARY, GST_TYPE_ALAWENC))
+ return FALSE;
return TRUE;
}
-GstPluginDesc plugin_desc = {
+GST_PLUGIN_DEFINE (
GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"alaw",
- plugin_init
-};
-
+ "ALaw audio conversion routines",
+ plugin_init,
+ VERSION,
+ GST_LICENSE,
+ GST_COPYRIGHT,
+ GST_PACKAGE,
+ GST_ORIGIN
+)
extern GstPadTemplate *mulawdec_src_template, *mulawdec_sink_template;
+/* elementfactory information */
+static GstElementDetails mulawdec_details = {
+ "Mu Law to PCM conversion",
+ "Codec/Audio/Decoder",
+ "Convert 8bit mu law to 16bit PCM",
+ "Zaheer Merali <zaheer@bellworldwide.net>"
+};
/* Stereo signals and args */
enum {
};
static void gst_mulawdec_class_init (GstMuLawDecClass *klass);
+static void gst_mulawdec_base_init (GstMuLawDecClass *klass);
static void gst_mulawdec_init (GstMuLawDec *mulawdec);
static void gst_mulawdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
if (!mulawdec_type) {
static const GTypeInfo mulawdec_info = {
- sizeof(GstMuLawDecClass), NULL,
+ sizeof(GstMuLawDecClass),
+ (GBaseInitFunc)gst_mulawdec_base_init,
NULL,
(GClassInitFunc)gst_mulawdec_class_init,
NULL,
}
static void
+gst_mulawdec_base_init (GstMuLawDecClass *klass)
+{
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
+ gst_element_class_add_pad_template (element_class, mulawdec_src_template);
+ gst_element_class_add_pad_template (element_class, mulawdec_sink_template);
+ gst_element_class_set_details (element_class, &mulawdec_details);
+}
+
+static void
gst_mulawdec_class_init (GstMuLawDecClass *klass)
{
GObjectClass *gobject_class;
extern GstPadTemplate *mulawenc_src_template, *mulawenc_sink_template;
+/* elementfactory information */
+static GstElementDetails mulawenc_details = {
+ "PCM to Mu Law conversion",
+ "Codec/Audio/Encoder",
+ "Convert 16bit PCM to 8bit mu law",
+ "Zaheer Merali <zaheer@bellworldwide.net>"
+};
/* Stereo signals and args */
enum {
};
static void gst_mulawenc_class_init (GstMuLawEncClass *klass);
+static void gst_mulawenc_base_init (GstMuLawEncClass *klass);
static void gst_mulawenc_init (GstMuLawEnc *mulawenc);
static void gst_mulawenc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
if (!mulawenc_type) {
static const GTypeInfo mulawenc_info = {
- sizeof(GstMuLawEncClass), NULL,
+ sizeof(GstMuLawEncClass),
+ (GBaseInitFunc)gst_mulawenc_base_init,
NULL,
(GClassInitFunc)gst_mulawenc_class_init,
NULL,
}
static void
+gst_mulawenc_base_init (GstMuLawEncClass *klass)
+{
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+
+ gst_element_class_add_pad_template (element_class, mulawenc_src_template);
+ gst_element_class_add_pad_template (element_class, mulawenc_sink_template);
+ gst_element_class_set_details (element_class, &mulawenc_details);
+}
+
+static void
gst_mulawenc_class_init (GstMuLawEncClass *klass)
{
GObjectClass *gobject_class;
#include "mulaw-encode.h"
#include "mulaw-decode.h"
-/* elementfactory information */
-static GstElementDetails mulawenc_details = {
- "PCM to Mu Law conversion",
- "Codec/Audio/Encoder",
- "LGPL",
- "Convert 16bit PCM to 8bit mu law",
- VERSION,
- "Zaheer Merali <zaheer@bellworldwide.net>",
- "(C) 2001"
-};
-
-/* elementfactory information */
-static GstElementDetails mulawdec_details = {
- "Mu Law to PCM conversion",
- "Codec/Audio/Decoder",
- "LGPL",
- "Convert 8bit mu law to 16bit PCM",
- VERSION,
- "Zaheer Merali <zaheer@bellworldwide.net>",
- "(C) 2001"
-};
-
static GstCaps*
mulaw_factory (void)
{
GstPadTemplate *mulawdec_src_template, *mulawdec_sink_template;
static gboolean
-plugin_init (GModule *module, GstPlugin *plugin)
+plugin_init (GstPlugin *plugin)
{
- GstElementFactory *mulawenc_factory, *mulawdec_factory;
GstCaps* mulaw_caps, *linear_caps;
- mulawenc_factory = gst_element_factory_new("mulawenc",GST_TYPE_MULAWENC,
- &mulawenc_details);
- g_return_val_if_fail(mulawenc_factory != NULL, FALSE);
- mulawdec_factory = gst_element_factory_new("mulawdec",GST_TYPE_MULAWDEC,
- &mulawdec_details);
- g_return_val_if_fail(mulawdec_factory != NULL, FALSE);
- gst_element_factory_set_rank (mulawdec_factory, GST_ELEMENT_RANK_PRIMARY);
-
mulaw_caps = mulaw_factory ();
linear_caps = linear_factory ();
mulawenc_sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
linear_caps, NULL);
- gst_element_factory_add_pad_template (mulawenc_factory, mulawenc_src_template);
- gst_element_factory_add_pad_template (mulawenc_factory, mulawenc_sink_template);
-
mulawdec_src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
linear_caps, NULL);
mulawdec_sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
mulaw_caps, NULL);
- gst_element_factory_add_pad_template (mulawdec_factory, mulawdec_src_template);
- gst_element_factory_add_pad_template (mulawdec_factory, mulawdec_sink_template);
-
- gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (mulawenc_factory));
- gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (mulawdec_factory));
-
-
+ if (!gst_element_register (plugin, "mulawenc",
+ GST_RANK_NONE, GST_TYPE_MULAWENC) ||
+ !gst_element_register (plugin, "mulawdec",
+ GST_RANK_PRIMARY, GST_TYPE_MULAWENC))
+ return FALSE;
return TRUE;
}
-GstPluginDesc plugin_desc = {
+GST_PLUGIN_DEFINE (
GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"mulaw",
- plugin_init
-};
-
+ "MuLaw audio conversion routines",
+ plugin_init,
+ VERSION,
+ GST_LICENSE,
+ GST_COPYRIGHT,
+ GST_PACKAGE,
+ GST_ORIGIN
+)