summaryrefslogtreecommitdiffstats
path: root/ext/gsm/gstgsmdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gsm/gstgsmdec.c')
-rw-r--r--ext/gsm/gstgsmdec.c130
1 files changed, 64 insertions, 66 deletions
diff --git a/ext/gsm/gstgsmdec.c b/ext/gsm/gstgsmdec.c
index 1359ce97..0391a403 100644
--- a/ext/gsm/gstgsmdec.c
+++ b/ext/gsm/gstgsmdec.c
@@ -34,74 +34,72 @@ GstElementDetails gst_gsmdec_details = {
};
/* GSMDec signals and args */
-enum {
+enum
+{
/* FILL ME */
LAST_SIGNAL
};
-enum {
+enum
+{
ARG_0,
/* FILL ME */
};
-static void gst_gsmdec_base_init (gpointer g_class);
-static void gst_gsmdec_class_init (GstGSMDec *klass);
-static void gst_gsmdec_init (GstGSMDec *gsmdec);
+static void gst_gsmdec_base_init (gpointer g_class);
+static void gst_gsmdec_class_init (GstGSMDec * klass);
+static void gst_gsmdec_init (GstGSMDec * gsmdec);
-static void gst_gsmdec_chain (GstPad *pad, GstData *_data);
-static GstPadLinkReturn gst_gsmdec_sinkconnect (GstPad *pad, const GstCaps *caps);
+static void gst_gsmdec_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_gsmdec_sinkconnect (GstPad * pad,
+ const GstCaps * caps);
static GstElementClass *parent_class = NULL;
+
/*static guint gst_gsmdec_signals[LAST_SIGNAL] = { 0 }; */
GType
-gst_gsmdec_get_type(void) {
+gst_gsmdec_get_type (void)
+{
static GType gsmdec_type = 0;
if (!gsmdec_type) {
static const GTypeInfo gsmdec_info = {
- sizeof(GstGSMDecClass),
+ sizeof (GstGSMDecClass),
gst_gsmdec_base_init,
NULL,
- (GClassInitFunc)gst_gsmdec_class_init,
+ (GClassInitFunc) gst_gsmdec_class_init,
NULL,
NULL,
- sizeof(GstGSMDec),
+ sizeof (GstGSMDec),
0,
- (GInstanceInitFunc)gst_gsmdec_init,
+ (GInstanceInitFunc) gst_gsmdec_init,
};
- gsmdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstGSMDec", &gsmdec_info, 0);
+ gsmdec_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstGSMDec", &gsmdec_info, 0);
}
return gsmdec_type;
}
static GstStaticPadTemplate gsmdec_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (
- "audio/x-gsm, "
- "rate = (int) [ 1000, 48000 ], "
- "channels = (int) 1"
- )
-);
+ GST_STATIC_CAPS ("audio/x-gsm, "
+ "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+ );
static GstStaticPadTemplate gsmdec_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (
- "audio/x-raw-int, "
- "endianness = (int) BYTE_ORDER, "
- "signed = (boolean) true, "
- "width = (int) 16, "
- "depth = (int) 16, "
- "rate = (int) [ 1000, 48000 ], "
- "channels = (int) 1"
- )
-);
+ GST_STATIC_CAPS ("audio/x-raw-int, "
+ "endianness = (int) BYTE_ORDER, "
+ "signed = (boolean) true, "
+ "width = (int) 16, "
+ "depth = (int) 16, "
+ "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+ );
static void
gst_gsmdec_base_init (gpointer g_class)
@@ -116,29 +114,31 @@ gst_gsmdec_base_init (gpointer g_class)
}
static void
-gst_gsmdec_class_init (GstGSMDec *klass)
+gst_gsmdec_class_init (GstGSMDec * klass)
{
GstElementClass *gstelement_class;
- gstelement_class = (GstElementClass*)klass;
+ gstelement_class = (GstElementClass *) klass;
- parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
}
static void
-gst_gsmdec_init (GstGSMDec *gsmdec)
+gst_gsmdec_init (GstGSMDec * gsmdec)
{
GST_DEBUG ("gst_gsmdec_init: initializing");
/* create the sink and src pads */
- gsmdec->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gsmdec_sink_template), "sink");
+ gsmdec->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gsmdec_sink_template), "sink");
gst_element_add_pad (GST_ELEMENT (gsmdec), gsmdec->sinkpad);
gst_pad_set_chain_function (gsmdec->sinkpad, gst_gsmdec_chain);
gst_pad_set_link_function (gsmdec->sinkpad, gst_gsmdec_sinkconnect);
- gsmdec->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gsmdec_src_template), "src");
+ gsmdec->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gsmdec_src_template), "src");
gst_element_add_pad (GST_ELEMENT (gsmdec), gsmdec->srcpad);
gsmdec->state = gsm_create ();
@@ -146,60 +146,59 @@ gst_gsmdec_init (GstGSMDec *gsmdec)
}
static GstPadLinkReturn
-gst_gsmdec_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_gsmdec_sinkconnect (GstPad * pad, const GstCaps * caps)
{
GstGSMDec *gsmdec;
gint rate;
GstStructure *structure;
-
+
gsmdec = GST_GSMDEC (gst_pad_get_parent (pad));
structure = gst_caps_get_structure (caps, 0);
- gst_structure_get_int (structure, "rate", &rate);
-
- if (gst_pad_try_set_caps (gsmdec->srcpad,
- gst_caps_new_simple ("audio/x-raw-int",
- "endianness", G_TYPE_INT, G_BYTE_ORDER,
- "signed", G_TYPE_BOOLEAN, TRUE,
- "width", G_TYPE_INT, 16,
- "depth", G_TYPE_INT, 16,
- "rate", G_TYPE_INT, rate,
- "channels", G_TYPE_INT, 1,
- NULL)) > 0)
- {
+ gst_structure_get_int (structure, "rate", &rate);
+
+ if (gst_pad_try_set_caps (gsmdec->srcpad,
+ gst_caps_new_simple ("audio/x-raw-int",
+ "endianness", G_TYPE_INT, G_BYTE_ORDER,
+ "signed", G_TYPE_BOOLEAN, TRUE,
+ "width", G_TYPE_INT, 16,
+ "depth", G_TYPE_INT, 16,
+ "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, 1, NULL)) > 0) {
return GST_PAD_LINK_OK;
}
return GST_PAD_LINK_REFUSED;
}
static void
-gst_gsmdec_chain (GstPad *pad, GstData *_data)
+gst_gsmdec_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstGSMDec *gsmdec;
gsm_byte *data;
guint size;
- g_return_if_fail(pad != NULL);
- g_return_if_fail(GST_IS_PAD(pad));
- g_return_if_fail(buf != NULL);
+ g_return_if_fail (pad != NULL);
+ g_return_if_fail (GST_IS_PAD (pad));
+ g_return_if_fail (buf != NULL);
/*g_return_if_fail(GST_IS_BUFFER(buf)); */
gsmdec = GST_GSMDEC (gst_pad_get_parent (pad));
- data = (gsm_byte*) GST_BUFFER_DATA (buf);
+ data = (gsm_byte *) GST_BUFFER_DATA (buf);
size = GST_BUFFER_SIZE (buf);
if (gsmdec->bufsize && (gsmdec->bufsize + size >= 33)) {
GstBuffer *outbuf;
- memcpy (gsmdec->buffer + gsmdec->bufsize, data, (33 - gsmdec->bufsize) * sizeof (gsm_byte));
+ memcpy (gsmdec->buffer + gsmdec->bufsize, data,
+ (33 - gsmdec->bufsize) * sizeof (gsm_byte));
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = g_malloc (160 * sizeof (gsm_signal));
GST_BUFFER_SIZE (outbuf) = 160 * sizeof (gsm_signal);
- gsm_decode (gsmdec->state, gsmdec->buffer, (gsm_signal *) GST_BUFFER_DATA (outbuf));
+ gsm_decode (gsmdec->state, gsmdec->buffer,
+ (gsm_signal *) GST_BUFFER_DATA (outbuf));
gst_pad_push (gsmdec->srcpad, GST_DATA (outbuf));
@@ -214,8 +213,8 @@ gst_gsmdec_chain (GstPad *pad, GstData *_data)
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = g_malloc (160 * sizeof (gsm_signal));
GST_BUFFER_SIZE (outbuf) = 160 * sizeof (gsm_signal);
-
- gsm_decode (gsmdec->state, data, (gsm_signal *)GST_BUFFER_DATA (outbuf));
+
+ gsm_decode (gsmdec->state, data, (gsm_signal *) GST_BUFFER_DATA (outbuf));
gst_pad_push (gsmdec->srcpad, GST_DATA (outbuf));
@@ -228,6 +227,5 @@ gst_gsmdec_chain (GstPad *pad, GstData *_data)
gsmdec->bufsize += size;
}
- gst_buffer_unref(buf);
+ gst_buffer_unref (buf);
}
-