diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2004-03-14 22:34:33 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2004-03-14 22:34:33 +0000 |
commit | 5d25c00e4b613b9cdf2c04fa3a68dffa03834a68 (patch) | |
tree | 74a5b1eaf3a324b520e64e87404fd0b3018a7829 /gst/law/alaw-encode.c | |
parent | 1e83b097f7b732ae49e294a5a398bdc3e88854a8 (diff) |
gst-indent
Original commit message from CVS:
gst-indent
Diffstat (limited to 'gst/law/alaw-encode.c')
-rw-r--r-- | gst/law/alaw-encode.c | 213 |
1 files changed, 113 insertions, 100 deletions
diff --git a/gst/law/alaw-encode.c b/gst/law/alaw-encode.c index 6efdb64f..052f2e00 100644 --- a/gst/law/alaw-encode.c +++ b/gst/law/alaw-encode.c @@ -36,23 +36,27 @@ static GstElementDetails alawenc_details = { }; /* Stereo signals and args */ -enum { +enum +{ /* FILL ME */ LAST_SIGNAL }; -enum { +enum +{ ARG_0 }; -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_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); -static void gst_alawenc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); +static void gst_alawenc_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_alawenc_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); -static void gst_alawenc_chain (GstPad *pad, GstData *_data); +static void gst_alawenc_chain (GstPad * pad, GstData * _data); /* * s16_to_alaw() - Convert a 16-bit linear PCM value to 8-bit A-law @@ -74,102 +78,108 @@ static void gst_alawenc_chain (GstPad *pad, GstData *_data); * John Wiley & Sons, pps 98-111 and 472-476. */ -static inline gint val_seg(gint val) +static inline gint +val_seg (gint val) { - gint r = 1; - val >>= 8; - if (val & 0xf0) { - val >>= 4; - r += 4; - } - if (val & 0x0c) { - val >>= 2; - r += 2; - } - if (val & 0x02) - r += 1; - return r; + gint r = 1; + + val >>= 8; + if (val & 0xf0) { + val >>= 4; + r += 4; + } + if (val & 0x0c) { + val >>= 2; + r += 2; + } + if (val & 0x02) + r += 1; + return r; } -static guint8 s16_to_alaw(gint pcm_val) +static guint8 +s16_to_alaw (gint pcm_val) { - gint seg; - guint8 mask; - guint8 aval; - - if (pcm_val >= 0) { - mask = 0xD5; - } else { - mask = 0x55; - pcm_val = -pcm_val; - if (pcm_val > 0x7fff) - pcm_val = 0x7fff; - } - - if (pcm_val < 256) - aval = pcm_val >> 4; - else { - /* Convert the scaled magnitude to segment number. */ - seg = val_seg(pcm_val); - aval = (seg << 4) | ((pcm_val >> (seg + 3)) & 0x0f); - } - return aval ^ mask; + gint seg; + guint8 mask; + guint8 aval; + + if (pcm_val >= 0) { + mask = 0xD5; + } else { + mask = 0x55; + pcm_val = -pcm_val; + if (pcm_val > 0x7fff) + pcm_val = 0x7fff; + } + + if (pcm_val < 256) + aval = pcm_val >> 4; + else { + /* Convert the scaled magnitude to segment number. */ + seg = val_seg (pcm_val); + aval = (seg << 4) | ((pcm_val >> (seg + 3)) & 0x0f); + } + return aval ^ mask; } static GstElementClass *parent_class = NULL; + /*static guint gst_stereo_signals[LAST_SIGNAL] = { 0 }; */ static GstPadLinkReturn -alawenc_link (GstPad *pad, const GstCaps *caps) +alawenc_link (GstPad * pad, const GstCaps * caps) { - GstCaps* tempcaps; + GstCaps *tempcaps; gint rate, channels; GstStructure *structure; gboolean ret; - - GstALawEnc* alawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad)); - + + GstALawEnc *alawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad)); + structure = gst_caps_get_structure (caps, 0); ret = gst_structure_get_int (structure, "rate", &rate); ret &= gst_structure_get_int (structure, "channels", &channels); - if (!ret) return GST_PAD_LINK_REFUSED; - + if (!ret) + return GST_PAD_LINK_REFUSED; + tempcaps = gst_caps_new_simple ("audio/x-alaw", - "depth", G_TYPE_INT, 8, - "width", G_TYPE_INT, 8, - "signed", G_TYPE_BOOLEAN, FALSE, - "rate", G_TYPE_INT, rate, - "channels", G_TYPE_INT, channels, - NULL); - + "depth", G_TYPE_INT, 8, + "width", G_TYPE_INT, 8, + "signed", G_TYPE_BOOLEAN, FALSE, + "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL); + return gst_pad_try_set_caps (alawenc->srcpad, tempcaps); -} +} GType -gst_alawenc_get_type(void) { +gst_alawenc_get_type (void) +{ static GType alawenc_type = 0; if (!alawenc_type) { static const GTypeInfo alawenc_info = { - sizeof(GstALawEncClass), - (GBaseInitFunc)gst_alawenc_base_init, + sizeof (GstALawEncClass), + (GBaseInitFunc) gst_alawenc_base_init, NULL, - (GClassInitFunc)gst_alawenc_class_init, + (GClassInitFunc) gst_alawenc_class_init, NULL, NULL, - sizeof(GstALawEnc), + sizeof (GstALawEnc), 0, - (GInstanceInitFunc)gst_alawenc_init, + (GInstanceInitFunc) gst_alawenc_init, }; - alawenc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstALawEnc", &alawenc_info, 0); + alawenc_type = + g_type_register_static (GST_TYPE_ELEMENT, "GstALawEnc", &alawenc_info, + 0); } return alawenc_type; } static void -gst_alawenc_base_init (GstALawEncClass *klass) +gst_alawenc_base_init (GstALawEncClass * klass) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); @@ -179,74 +189,76 @@ gst_alawenc_base_init (GstALawEncClass *klass) } static void -gst_alawenc_class_init (GstALawEncClass *klass) +gst_alawenc_class_init (GstALawEncClass * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; - gobject_class = (GObjectClass*)klass; - gstelement_class = (GstElementClass*)klass; + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; - parent_class = g_type_class_ref(GST_TYPE_ELEMENT); + parent_class = g_type_class_ref (GST_TYPE_ELEMENT); gobject_class->set_property = gst_alawenc_set_property; gobject_class->get_property = gst_alawenc_get_property; } static void -gst_alawenc_init (GstALawEnc *alawenc) +gst_alawenc_init (GstALawEnc * alawenc) { - alawenc->sinkpad = gst_pad_new_from_template(alawenc_sink_template,"sink"); - alawenc->srcpad = gst_pad_new_from_template(alawenc_src_template,"src"); + alawenc->sinkpad = gst_pad_new_from_template (alawenc_sink_template, "sink"); + alawenc->srcpad = gst_pad_new_from_template (alawenc_src_template, "src"); gst_pad_set_link_function (alawenc->sinkpad, alawenc_link); - gst_element_add_pad(GST_ELEMENT(alawenc),alawenc->sinkpad); - gst_pad_set_chain_function(alawenc->sinkpad,gst_alawenc_chain); - gst_element_add_pad(GST_ELEMENT(alawenc),alawenc->srcpad); + gst_element_add_pad (GST_ELEMENT (alawenc), alawenc->sinkpad); + gst_pad_set_chain_function (alawenc->sinkpad, gst_alawenc_chain); + gst_element_add_pad (GST_ELEMENT (alawenc), alawenc->srcpad); } static void -gst_alawenc_chain (GstPad *pad,GstData *_data) +gst_alawenc_chain (GstPad * pad, GstData * _data) { GstBuffer *buf = GST_BUFFER (_data); GstALawEnc *alawenc; gint16 *linear_data; guint8 *alaw_data; - GstBuffer* outbuf; + GstBuffer *outbuf; gint i; - 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); + + alawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad)); + g_return_if_fail (alawenc != NULL); + g_return_if_fail (GST_IS_ALAWENC (alawenc)); - alawenc = GST_ALAWENC(GST_OBJECT_PARENT (pad)); - g_return_if_fail(alawenc != NULL); - g_return_if_fail(GST_IS_ALAWENC(alawenc)); + linear_data = (gint16 *) GST_BUFFER_DATA (buf); + outbuf = gst_buffer_new (); + GST_BUFFER_DATA (outbuf) = + (gchar *) g_new (guint8, GST_BUFFER_SIZE (buf) / 2); + GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf) / 2; - linear_data = (gint16 *)GST_BUFFER_DATA(buf); - outbuf=gst_buffer_new(); - GST_BUFFER_DATA(outbuf) = (gchar*)g_new(guint8,GST_BUFFER_SIZE(buf)/2); - GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf)/2; - - alaw_data = (guint8*)GST_BUFFER_DATA(outbuf); - for (i = 0; i < GST_BUFFER_SIZE(outbuf); i++) { + alaw_data = (guint8 *) GST_BUFFER_DATA (outbuf); + for (i = 0; i < GST_BUFFER_SIZE (outbuf); i++) { *alaw_data = s16_to_alaw (*linear_data); alaw_data++; linear_data++; } - gst_buffer_unref(buf); - gst_pad_push(alawenc->srcpad,GST_DATA (outbuf)); + gst_buffer_unref (buf); + gst_pad_push (alawenc->srcpad, GST_DATA (outbuf)); } static void -gst_alawenc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) +gst_alawenc_set_property (GObject * object, guint prop_id, const GValue * value, + GParamSpec * pspec) { GstALawEnc *alawenc; /* it's not null if we got it, but it might not be ours */ - g_return_if_fail(GST_IS_ALAWENC(object)); - alawenc = GST_ALAWENC(object); + g_return_if_fail (GST_IS_ALAWENC (object)); + alawenc = GST_ALAWENC (object); switch (prop_id) { default: @@ -255,13 +267,14 @@ gst_alawenc_set_property (GObject *object, guint prop_id, const GValue *value, G } static void -gst_alawenc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) +gst_alawenc_get_property (GObject * object, guint prop_id, GValue * value, + GParamSpec * pspec) { GstALawEnc *alawenc; /* it's not null if we got it, but it might not be ours */ - g_return_if_fail(GST_IS_ALAWENC(object)); - alawenc = GST_ALAWENC(object); + g_return_if_fail (GST_IS_ALAWENC (object)); + alawenc = GST_ALAWENC (object); switch (prop_id) { default: |