Original commit message from CVS:
RTP done
This commit is contained in:
Ronald S. Bultje 2003-11-02 22:04:36 +00:00
parent fbdc88a45f
commit 45e7056355
17 changed files with 169 additions and 152 deletions

View file

@ -17,25 +17,34 @@
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
#include "config.h"
#include "gstrtpL16enc.h" #include "gstrtpL16enc.h"
#include "gstrtpL16parse.h" #include "gstrtpL16parse.h"
#include "gstrtpgsmenc.h" #include "gstrtpgsmenc.h"
#include "gstrtpgsmparse.h" #include "gstrtpgsmparse.h"
static gboolean static gboolean
plugin_init (GModule *module, GstPlugin *plugin) plugin_init (GstPlugin *plugin)
{ {
gst_rtpL16enc_plugin_init (module, plugin); if (!gst_rtpL16enc_plugin_init (plugin) ||
gst_rtpL16parse_plugin_init (module, plugin); !gst_rtpL16parse_plugin_init (plugin) ||
gst_rtpgsmenc_plugin_init (module, plugin); !gst_rtpgsmenc_plugin_init (plugin) ||
gst_rtpgsmparse_plugin_init (module, plugin); !gst_rtpgsmparse_plugin_init (plugin))
return FALSE;
return TRUE; return TRUE;
} }
GstPluginDesc plugin_desc = { GST_PLUGIN_DEFINE (
GST_VERSION_MAJOR, GST_VERSION_MAJOR,
GST_VERSION_MINOR, GST_VERSION_MINOR,
"rtp", "rtp",
plugin_init "Real-time protocol plugins",
}; plugin_init,
VERSION,
"LGPL",
GST_COPYRIGHT,
GST_PACKAGE,
GST_ORIGIN
)

View file

@ -23,11 +23,8 @@
static GstElementDetails gst_rtp_L16parse_details = { static GstElementDetails gst_rtp_L16parse_details = {
"RTP packet parser", "RTP packet parser",
"Codec/Network", "Codec/Network",
"GPL",
"Extracts raw audio from RTP packets", "Extracts raw audio from RTP packets",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpL16Parse signals and args */ /* RtpL16Parse signals and args */
@ -70,6 +67,7 @@ GST_PAD_TEMPLATE_FACTORY (sink_factory,
); );
static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass); static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse); static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data); static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data);
@ -89,7 +87,7 @@ static GType gst_rtpL16parse_get_type (void)
if (!rtpL16parse_type) { if (!rtpL16parse_type) {
static const GTypeInfo rtpL16parse_info = { static const GTypeInfo rtpL16parse_info = {
sizeof (GstRtpL16ParseClass), sizeof (GstRtpL16ParseClass),
NULL, (GBaseInitFunc) gst_rtpL16parse_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpL16parse_class_init, (GClassInitFunc) gst_rtpL16parse_class_init,
NULL, NULL,
@ -104,6 +102,18 @@ static GType gst_rtpL16parse_get_type (void)
return rtpL16parse_type; return rtpL16parse_type;
} }
static void
gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_set_details (element_class, &gst_rtp_L16parse_details);
}
static void static void
gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass) gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
{ {
@ -322,17 +332,8 @@ gst_rtpL16parse_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpL16parse_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpL16parse_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpL16parse; return gst_element_register (plugin, "rtpL16parse",
GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
rtpL16parse = gst_element_factory_new ("rtpL16parse", GST_TYPE_RTP_L16_PARSE, &gst_rtp_L16parse_details);
g_return_val_if_fail (rtpL16parse != NULL, FALSE);
gst_element_factory_add_pad_template (rtpL16parse, GST_PAD_TEMPLATE_GET (src_factory));
gst_element_factory_add_pad_template (rtpL16parse, GST_PAD_TEMPLATE_GET (sink_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpL16parse));
return TRUE;
} }

View file

@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
#define GST_IS_RTP_L16_PARSE_CLASS(obj) \ #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
gboolean gst_rtpL16parse_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -27,11 +27,8 @@
static GstElementDetails gst_rtpL16enc_details = { static GstElementDetails gst_rtpL16enc_details = {
"RTP RAW Audio Encoder", "RTP RAW Audio Encoder",
"Codec/Network", "Codec/Network",
"LGPL",
"Encodes Raw Audio into an RTP packet", "Encodes Raw Audio into an RTP packet",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpL16Enc signals and args */ /* RtpL16Enc signals and args */
@ -74,6 +71,7 @@ GST_PAD_TEMPLATE_FACTORY (src_factory,
); );
static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass); static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc); static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data); static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data);
static void gst_rtpL16enc_set_property (GObject * object, guint prop_id, static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
@ -92,7 +90,7 @@ static GType gst_rtpL16enc_get_type (void)
if (!rtpL16enc_type) { if (!rtpL16enc_type) {
static const GTypeInfo rtpL16enc_info = { static const GTypeInfo rtpL16enc_info = {
sizeof (GstRtpL16EncClass), sizeof (GstRtpL16EncClass),
NULL, (GBaseInitFunc) gst_rtpL16enc_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpL16enc_class_init, (GClassInitFunc) gst_rtpL16enc_class_init,
NULL, NULL,
@ -107,6 +105,18 @@ static GType gst_rtpL16enc_get_type (void)
return rtpL16enc_type; return rtpL16enc_type;
} }
static void
gst_rtpL16enc_base_init (GstRtpL16EncClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_set_details (element_class, &gst_rtpL16enc_details);
}
static void static void
gst_rtpL16enc_class_init (GstRtpL16EncClass * klass) gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
{ {
@ -312,17 +322,8 @@ gst_rtpL16enc_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpL16enc_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpL16enc_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpL16enc; return gst_element_register (plugin, "rtpL16enc",
GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
rtpL16enc = gst_element_factory_new ("rtpL16enc", GST_TYPE_RTP_L16_ENC, &gst_rtpL16enc_details);
g_return_val_if_fail (rtpL16enc != NULL, FALSE);
gst_element_factory_add_pad_template (rtpL16enc, GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_factory_add_pad_template (rtpL16enc, GST_PAD_TEMPLATE_GET (src_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpL16enc));
return TRUE;
} }

View file

@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
#define GST_IS_RTP_L16_ENC_CLASS(obj) \ #define GST_IS_RTP_L16_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
gboolean gst_rtpL16enc_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -23,11 +23,8 @@
static GstElementDetails gst_rtp_L16parse_details = { static GstElementDetails gst_rtp_L16parse_details = {
"RTP packet parser", "RTP packet parser",
"Codec/Network", "Codec/Network",
"GPL",
"Extracts raw audio from RTP packets", "Extracts raw audio from RTP packets",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpL16Parse signals and args */ /* RtpL16Parse signals and args */
@ -70,6 +67,7 @@ GST_PAD_TEMPLATE_FACTORY (sink_factory,
); );
static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass); static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse); static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data); static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data);
@ -89,7 +87,7 @@ static GType gst_rtpL16parse_get_type (void)
if (!rtpL16parse_type) { if (!rtpL16parse_type) {
static const GTypeInfo rtpL16parse_info = { static const GTypeInfo rtpL16parse_info = {
sizeof (GstRtpL16ParseClass), sizeof (GstRtpL16ParseClass),
NULL, (GBaseInitFunc) gst_rtpL16parse_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpL16parse_class_init, (GClassInitFunc) gst_rtpL16parse_class_init,
NULL, NULL,
@ -104,6 +102,18 @@ static GType gst_rtpL16parse_get_type (void)
return rtpL16parse_type; return rtpL16parse_type;
} }
static void
gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_set_details (element_class, &gst_rtp_L16parse_details);
}
static void static void
gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass) gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
{ {
@ -322,17 +332,8 @@ gst_rtpL16parse_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpL16parse_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpL16parse_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpL16parse; return gst_element_register (plugin, "rtpL16parse",
GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
rtpL16parse = gst_element_factory_new ("rtpL16parse", GST_TYPE_RTP_L16_PARSE, &gst_rtp_L16parse_details);
g_return_val_if_fail (rtpL16parse != NULL, FALSE);
gst_element_factory_add_pad_template (rtpL16parse, GST_PAD_TEMPLATE_GET (src_factory));
gst_element_factory_add_pad_template (rtpL16parse, GST_PAD_TEMPLATE_GET (sink_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpL16parse));
return TRUE;
} }

View file

@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
#define GST_IS_RTP_L16_PARSE_CLASS(obj) \ #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
gboolean gst_rtpL16parse_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -27,11 +27,8 @@
static GstElementDetails gst_rtpL16enc_details = { static GstElementDetails gst_rtpL16enc_details = {
"RTP RAW Audio Encoder", "RTP RAW Audio Encoder",
"Codec/Network", "Codec/Network",
"LGPL",
"Encodes Raw Audio into an RTP packet", "Encodes Raw Audio into an RTP packet",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpL16Enc signals and args */ /* RtpL16Enc signals and args */
@ -74,6 +71,7 @@ GST_PAD_TEMPLATE_FACTORY (src_factory,
); );
static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass); static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc); static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data); static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data);
static void gst_rtpL16enc_set_property (GObject * object, guint prop_id, static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
@ -92,7 +90,7 @@ static GType gst_rtpL16enc_get_type (void)
if (!rtpL16enc_type) { if (!rtpL16enc_type) {
static const GTypeInfo rtpL16enc_info = { static const GTypeInfo rtpL16enc_info = {
sizeof (GstRtpL16EncClass), sizeof (GstRtpL16EncClass),
NULL, (GBaseInitFunc) gst_rtpL16enc_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpL16enc_class_init, (GClassInitFunc) gst_rtpL16enc_class_init,
NULL, NULL,
@ -107,6 +105,18 @@ static GType gst_rtpL16enc_get_type (void)
return rtpL16enc_type; return rtpL16enc_type;
} }
static void
gst_rtpL16enc_base_init (GstRtpL16EncClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_set_details (element_class, &gst_rtpL16enc_details);
}
static void static void
gst_rtpL16enc_class_init (GstRtpL16EncClass * klass) gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
{ {
@ -312,17 +322,8 @@ gst_rtpL16enc_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpL16enc_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpL16enc_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpL16enc; return gst_element_register (plugin, "rtpL16enc",
GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
rtpL16enc = gst_element_factory_new ("rtpL16enc", GST_TYPE_RTP_L16_ENC, &gst_rtpL16enc_details);
g_return_val_if_fail (rtpL16enc != NULL, FALSE);
gst_element_factory_add_pad_template (rtpL16enc, GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_factory_add_pad_template (rtpL16enc, GST_PAD_TEMPLATE_GET (src_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpL16enc));
return TRUE;
} }

View file

@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
#define GST_IS_RTP_L16_ENC_CLASS(obj) \ #define GST_IS_RTP_L16_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
gboolean gst_rtpL16enc_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -24,11 +24,8 @@
static GstElementDetails gst_rtp_gsmparse_details = { static GstElementDetails gst_rtp_gsmparse_details = {
"RTP packet parser", "RTP packet parser",
"Codec/Network", "Codec/Network",
"GPL",
"Extracts GSM audio from RTP packets", "Extracts GSM audio from RTP packets",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpGSMParse signals and args */ /* RtpGSMParse signals and args */
@ -65,6 +62,7 @@ GST_PAD_TEMPLATE_FACTORY (sink_factory,
); );
static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass); static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass);
static void gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass);
static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse); static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse);
static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data); static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data);
@ -84,7 +82,7 @@ static GType gst_rtpgsmparse_get_type (void)
if (!rtpgsmparse_type) { if (!rtpgsmparse_type) {
static const GTypeInfo rtpgsmparse_info = { static const GTypeInfo rtpgsmparse_info = {
sizeof (GstRtpGSMParseClass), sizeof (GstRtpGSMParseClass),
NULL, (GBaseInitFunc) gst_rtpgsmparse_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpgsmparse_class_init, (GClassInitFunc) gst_rtpgsmparse_class_init,
NULL, NULL,
@ -99,6 +97,18 @@ static GType gst_rtpgsmparse_get_type (void)
return rtpgsmparse_type; return rtpgsmparse_type;
} }
static void
gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
}
static void static void
gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass) gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
{ {
@ -284,17 +294,8 @@ gst_rtpgsmparse_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpgsmparse_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpgsmparse; return gst_element_register (plugin, "rtpgsmparse",
GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
rtpgsmparse = gst_element_factory_new ("rtpgsmparse", GST_TYPE_RTP_GSM_PARSE, &gst_rtp_gsmparse_details);
g_return_val_if_fail (rtpgsmparse != NULL, FALSE);
gst_element_factory_add_pad_template (rtpgsmparse, GST_PAD_TEMPLATE_GET (src_factory));
gst_element_factory_add_pad_template (rtpgsmparse, GST_PAD_TEMPLATE_GET (sink_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpgsmparse));
return TRUE;
} }

View file

@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
#define GST_IS_RTP_GSM_PARSE_CLASS(obj) \ #define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
gboolean gst_rtpgsmparse_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -28,11 +28,8 @@
static GstElementDetails gst_rtpgsmenc_details = { static GstElementDetails gst_rtpgsmenc_details = {
"RTP GSM Audio Encoder", "RTP GSM Audio Encoder",
"Codec/Network", "Codec/Network",
"LGPL",
"Encodes GSM audio into an RTP packet", "Encodes GSM audio into an RTP packet",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpGSMEnc signals and args */ /* RtpGSMEnc signals and args */
@ -70,6 +67,7 @@ GST_PAD_TEMPLATE_FACTORY (src_factory,
) )
static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass); static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass);
static void gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass);
static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc); static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc);
static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data); static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data);
static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id, static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
@ -88,7 +86,7 @@ static GType gst_rtpgsmenc_get_type (void)
if (!rtpgsmenc_type) { if (!rtpgsmenc_type) {
static const GTypeInfo rtpgsmenc_info = { static const GTypeInfo rtpgsmenc_info = {
sizeof (GstRtpGSMEncClass), sizeof (GstRtpGSMEncClass),
NULL, (GBaseInitFunc) gst_rtpgsmenc_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpgsmenc_class_init, (GClassInitFunc) gst_rtpgsmenc_class_init,
NULL, NULL,
@ -103,6 +101,18 @@ static GType gst_rtpgsmenc_get_type (void)
return rtpgsmenc_type; return rtpgsmenc_type;
} }
static void
gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_set_details (element_class, &gst_rtpgsmenc_details);
}
static void static void
gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass) gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
{ {
@ -299,17 +309,8 @@ gst_rtpgsmenc_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpgsmenc_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpgsmenc; return gst_element_register (plugin, "rtpgsmenc",
GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
rtpgsmenc = gst_element_factory_new ("rtpgsmenc", GST_TYPE_RTP_GSM_ENC, &gst_rtpgsmenc_details);
g_return_val_if_fail (rtpgsmenc != NULL, FALSE);
gst_element_factory_add_pad_template (rtpgsmenc, GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_factory_add_pad_template (rtpgsmenc, GST_PAD_TEMPLATE_GET (src_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpgsmenc));
return TRUE;
} }

View file

@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
#define GST_IS_RTP_GSM_ENC_CLASS(obj) \ #define GST_IS_RTP_GSM_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
gboolean gst_rtpgsmenc_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -24,11 +24,8 @@
static GstElementDetails gst_rtp_gsmparse_details = { static GstElementDetails gst_rtp_gsmparse_details = {
"RTP packet parser", "RTP packet parser",
"Codec/Network", "Codec/Network",
"GPL",
"Extracts GSM audio from RTP packets", "Extracts GSM audio from RTP packets",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpGSMParse signals and args */ /* RtpGSMParse signals and args */
@ -65,6 +62,7 @@ GST_PAD_TEMPLATE_FACTORY (sink_factory,
); );
static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass); static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass);
static void gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass);
static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse); static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse);
static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data); static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data);
@ -84,7 +82,7 @@ static GType gst_rtpgsmparse_get_type (void)
if (!rtpgsmparse_type) { if (!rtpgsmparse_type) {
static const GTypeInfo rtpgsmparse_info = { static const GTypeInfo rtpgsmparse_info = {
sizeof (GstRtpGSMParseClass), sizeof (GstRtpGSMParseClass),
NULL, (GBaseInitFunc) gst_rtpgsmparse_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpgsmparse_class_init, (GClassInitFunc) gst_rtpgsmparse_class_init,
NULL, NULL,
@ -99,6 +97,18 @@ static GType gst_rtpgsmparse_get_type (void)
return rtpgsmparse_type; return rtpgsmparse_type;
} }
static void
gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
}
static void static void
gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass) gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
{ {
@ -284,17 +294,8 @@ gst_rtpgsmparse_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpgsmparse_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpgsmparse; return gst_element_register (plugin, "rtpgsmparse",
GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
rtpgsmparse = gst_element_factory_new ("rtpgsmparse", GST_TYPE_RTP_GSM_PARSE, &gst_rtp_gsmparse_details);
g_return_val_if_fail (rtpgsmparse != NULL, FALSE);
gst_element_factory_add_pad_template (rtpgsmparse, GST_PAD_TEMPLATE_GET (src_factory));
gst_element_factory_add_pad_template (rtpgsmparse, GST_PAD_TEMPLATE_GET (sink_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpgsmparse));
return TRUE;
} }

View file

@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
#define GST_IS_RTP_GSM_PARSE_CLASS(obj) \ #define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
gboolean gst_rtpgsmparse_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -28,11 +28,8 @@
static GstElementDetails gst_rtpgsmenc_details = { static GstElementDetails gst_rtpgsmenc_details = {
"RTP GSM Audio Encoder", "RTP GSM Audio Encoder",
"Codec/Network", "Codec/Network",
"LGPL",
"Encodes GSM audio into an RTP packet", "Encodes GSM audio into an RTP packet",
VERSION, "Zeeshan Ali <zak147@yahoo.com>"
"Zeeshan Ali <zak147@yahoo.com>",
"(C) 2003",
}; };
/* RtpGSMEnc signals and args */ /* RtpGSMEnc signals and args */
@ -70,6 +67,7 @@ GST_PAD_TEMPLATE_FACTORY (src_factory,
) )
static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass); static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass);
static void gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass);
static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc); static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc);
static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data); static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data);
static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id, static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
@ -88,7 +86,7 @@ static GType gst_rtpgsmenc_get_type (void)
if (!rtpgsmenc_type) { if (!rtpgsmenc_type) {
static const GTypeInfo rtpgsmenc_info = { static const GTypeInfo rtpgsmenc_info = {
sizeof (GstRtpGSMEncClass), sizeof (GstRtpGSMEncClass),
NULL, (GBaseInitFunc) gst_rtpgsmenc_base_init,
NULL, NULL,
(GClassInitFunc) gst_rtpgsmenc_class_init, (GClassInitFunc) gst_rtpgsmenc_class_init,
NULL, NULL,
@ -103,6 +101,18 @@ static GType gst_rtpgsmenc_get_type (void)
return rtpgsmenc_type; return rtpgsmenc_type;
} }
static void
gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_class_add_pad_template (element_class,
GST_PAD_TEMPLATE_GET (src_factory));
gst_element_class_set_details (element_class, &gst_rtpgsmenc_details);
}
static void static void
gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass) gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
{ {
@ -299,17 +309,8 @@ gst_rtpgsmenc_change_state (GstElement * element)
} }
gboolean gboolean
gst_rtpgsmenc_plugin_init (GModule * module, GstPlugin * plugin) gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
{ {
GstElementFactory *rtpgsmenc; return gst_element_register (plugin, "rtpgsmenc",
GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
rtpgsmenc = gst_element_factory_new ("rtpgsmenc", GST_TYPE_RTP_GSM_ENC, &gst_rtpgsmenc_details);
g_return_val_if_fail (rtpgsmenc != NULL, FALSE);
gst_element_factory_add_pad_template (rtpgsmenc, GST_PAD_TEMPLATE_GET (sink_factory));
gst_element_factory_add_pad_template (rtpgsmenc, GST_PAD_TEMPLATE_GET (src_factory));
gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (rtpgsmenc));
return TRUE;
} }

View file

@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
#define GST_IS_RTP_GSM_ENC_CLASS(obj) \ #define GST_IS_RTP_GSM_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
gboolean gst_rtpgsmenc_plugin_init (GModule * module, GstPlugin * plugin); gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus #ifdef __cplusplus
} }