summaryrefslogtreecommitdiffstats
path: root/gst/rtp
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rtp')
-rw-r--r--gst/rtp/gstrtp-common.h2
-rw-r--r--gst/rtp/gstrtp.c18
-rw-r--r--gst/rtp/gstrtpL16depay.c128
-rw-r--r--gst/rtp/gstrtpL16depay.h32
-rw-r--r--gst/rtp/gstrtpL16enc.c107
-rw-r--r--gst/rtp/gstrtpL16enc.h44
-rw-r--r--gst/rtp/gstrtpL16parse.c128
-rw-r--r--gst/rtp/gstrtpL16parse.h32
-rw-r--r--gst/rtp/gstrtpL16pay.c107
-rw-r--r--gst/rtp/gstrtpL16pay.h44
-rw-r--r--gst/rtp/gstrtpgsmdepay.c95
-rw-r--r--gst/rtp/gstrtpgsmdepay.h28
-rw-r--r--gst/rtp/gstrtpgsmenc.c88
-rw-r--r--gst/rtp/gstrtpgsmenc.h42
-rw-r--r--gst/rtp/gstrtpgsmparse.c95
-rw-r--r--gst/rtp/gstrtpgsmparse.h28
-rw-r--r--gst/rtp/gstrtpgsmpay.c88
-rw-r--r--gst/rtp/gstrtpgsmpay.h42
-rw-r--r--gst/rtp/rtp-packet.c189
-rw-r--r--gst/rtp/rtp-packet.h107
20 files changed, 761 insertions, 683 deletions
diff --git a/gst/rtp/gstrtp-common.h b/gst/rtp/gstrtp-common.h
index fb675189..ec4cd947 100644
--- a/gst/rtp/gstrtp-common.h
+++ b/gst/rtp/gstrtp-common.h
@@ -26,7 +26,7 @@
typedef enum
{
/* Audio: */
- PAYLOAD_PCMU = 0, /* ITU-T G.711. mu-law audio (RFC 3551) */
+ PAYLOAD_PCMU = 0, /* ITU-T G.711. mu-law audio (RFC 3551) */
PAYLOAD_GSM = 3,
PAYLOAD_PCMA = 8, /* ITU-T G.711 A-law audio (RFC 3551) */
PAYLOAD_L16_STEREO = 10,
diff --git a/gst/rtp/gstrtp.c b/gst/rtp/gstrtp.c
index 4f3f7d46..fd1a3aa1 100644
--- a/gst/rtp/gstrtp.c
+++ b/gst/rtp/gstrtp.c
@@ -27,7 +27,7 @@
#include "gstrtpgsmparse.h"
static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
{
if (!gst_rtpL16enc_plugin_init (plugin) ||
!gst_rtpL16parse_plugin_init (plugin) ||
@@ -38,14 +38,8 @@ plugin_init (GstPlugin *plugin)
return TRUE;
}
-GST_PLUGIN_DEFINE (
- GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- "rtp",
- "Real-time protocol plugins",
- plugin_init,
- VERSION,
- "LGPL",
- GST_PACKAGE,
- GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ "rtp",
+ "Real-time protocol plugins",
+ plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
diff --git a/gst/rtp/gstrtpL16depay.c b/gst/rtp/gstrtpL16depay.c
index 51ec258c..07bfb6a0 100644
--- a/gst/rtp/gstrtpL16depay.c
+++ b/gst/rtp/gstrtpL16depay.c
@@ -42,43 +42,41 @@ enum
};
static GstStaticPadTemplate gst_rtpL16parse_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, 2 ]"
- )
-);
+ 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, 2 ]")
+ );
static GstStaticPadTemplate gst_rtpL16parse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpL16parse_change_state (GstElement * element);
+ GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpL16parse_change_state (GstElement *
+ element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpL16parse_get_type (void)
+static GType
+gst_rtpL16parse_get_type (void)
{
static GType rtpL16parse_type = 0;
@@ -95,7 +93,9 @@ static GType gst_rtpL16parse_get_type (void)
(GInstanceInitFunc) gst_rtpL16parse_init,
};
- rtpL16parse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse", &rtpL16parse_info, 0);
+ rtpL16parse_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse",
+ &rtpL16parse_info, 0);
}
return rtpL16parse_type;
}
@@ -123,12 +123,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
- g_param_spec_int ("payload_type", "payload_type", "payload type",
- G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
- g_param_spec_int ("frequency", "frequency", "frequency",
- G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
+ g_param_spec_int ("payload_type", "payload_type", "payload type",
+ G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+ g_param_spec_int ("frequency", "frequency", "frequency",
+ G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
gobject_class->set_property = gst_rtpL16parse_set_property;
gobject_class->get_property = gst_rtpL16parse_get_property;
@@ -139,10 +139,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
static void
gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
{
- rtpL16parse->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16parse_src_template), "src");
- rtpL16parse->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16parse_sink_template), "sink");
+ rtpL16parse->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16parse_src_template), "src");
+ rtpL16parse->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16parse_sink_template), "sink");
gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
@@ -154,25 +156,27 @@ gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
}
void
-gst_rtpL16parse_ntohs (GstBuffer *buf)
+gst_rtpL16parse_ntohs (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_ntohs (*i);
+ for (; i < len; i++) {
+ *i = g_ntohs (*i);
}
}
void
-gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
+gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
{
GstCaps *caps;
- caps = gst_caps_copy(gst_static_caps_get (&gst_rtpL16parse_src_template.static_caps));
+ caps =
+ gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+ static_caps));
gst_caps_set_simple (caps,
"rate", G_TYPE_INT, rtpL16parse->frequency,
@@ -182,26 +186,27 @@ gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
}
void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse *rtpL16parse, rtp_payload_t pt)
+gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+ rtp_payload_t pt)
{
rtpL16parse->payload_type = pt;
-
+
switch (pt) {
- case PAYLOAD_L16_MONO:
- rtpL16parse->channels = 1;
- break;
- case PAYLOAD_L16_STEREO:
- rtpL16parse->channels = 2;
- break;
- default:
- g_warning ("unknown payload_t %d\n", pt);
+ case PAYLOAD_L16_MONO:
+ rtpL16parse->channels = 1;
+ break;
+ case PAYLOAD_L16_STEREO:
+ rtpL16parse->channels = 2;
+ break;
+ default:
+ g_warning ("unknown payload_t %d\n", pt);
}
gst_rtpL16_caps_nego (rtpL16parse);
}
static void
-gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
+gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpL16Parse *rtpL16parse;
@@ -220,8 +225,9 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
if (GST_IS_EVENT (buf)) {
GstEvent *event = GST_EVENT (buf);
+
gst_pad_event_default (pad, event);
-
+
return;
}
@@ -229,26 +235,30 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
gst_rtpL16_caps_nego (rtpL16parse);
}
- packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ packet =
+ rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
pt = rtp_packet_get_payload_type (packet);
if (pt != rtpL16parse->payload_type) {
- gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+ gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
}
outbuf = gst_buffer_new ();
GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
- GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+ GST_BUFFER_TIMESTAMP (outbuf) =
+ g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+ memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+ GST_BUFFER_SIZE (outbuf));
- memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-
- GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpL16parse_ntohs (outbuf);
+ gst_rtpL16parse_ntohs (outbuf);
#endif
gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -258,7 +268,8 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
}
static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpL16Parse *rtpL16parse;
@@ -279,7 +290,8 @@ gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * va
}
static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpL16Parse *rtpL16parse;
@@ -331,5 +343,5 @@ gboolean
gst_rtpL16parse_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpL16parse",
- GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
+ GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
}
diff --git a/gst/rtp/gstrtpL16depay.h b/gst/rtp/gstrtpL16depay.h
index dad467bf..b49cf240 100644
--- a/gst/rtp/gstrtpL16depay.h
+++ b/gst/rtp/gstrtpL16depay.h
@@ -30,26 +30,26 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Parse GstRtpL16Parse;
-struct _GstRtpL16Parse
-{
- GstElement element;
+ typedef struct _GstRtpL16Parse GstRtpL16Parse;
+ struct _GstRtpL16Parse
+ {
+ GstElement element;
- GstPad *sinkpad;
- GstPad *srcpad;
+ GstPad *sinkpad;
+ GstPad *srcpad;
- guint frequency;
- guint channels;
+ guint frequency;
+ guint channels;
- rtp_payload_t payload_type;
-};
+ rtp_payload_t payload_type;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
-struct _GstRtpL16ParseClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
+ struct _GstRtpL16ParseClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_L16_PARSE \
@@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
#define GST_IS_RTP_L16_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpL16enc.c b/gst/rtp/gstrtpL16enc.c
index 45d6a95a..0914d2fb 100644
--- a/gst/rtp/gstrtpL16enc.c
+++ b/gst/rtp/gstrtpL16enc.c
@@ -45,42 +45,40 @@ enum
};
static GstStaticPadTemplate gst_rtpL16enc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
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, 2 ]"
- )
-);
+ 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, 2 ]")
+ );
static GstStaticPadTemplate gst_rtpL16enc_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_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,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps);
+ GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
+ const GstCaps * caps);
static GstElementStateReturn gst_rtpL16enc_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpL16enc_get_type (void)
+static GType
+gst_rtpL16enc_get_type (void)
{
static GType rtpL16enc_type = 0;
@@ -97,7 +95,9 @@ static GType gst_rtpL16enc_get_type (void)
(GInstanceInitFunc) gst_rtpL16enc_init,
};
- rtpL16enc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc", &rtpL16enc_info, 0);
+ rtpL16enc_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
+ &rtpL16enc_info, 0);
}
return rtpL16enc_type;
}
@@ -134,10 +134,12 @@ gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
static void
gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
{
- rtpL16enc->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16enc_sink_template), "sink");
- rtpL16enc->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16enc_src_template), "src");
+ rtpL16enc->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16enc_sink_template), "sink");
+ rtpL16enc->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16enc_src_template), "src");
gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
@@ -146,7 +148,7 @@ gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
rtpL16enc->frequency = 44100;
rtpL16enc->channels = 2;
- rtpL16enc->next_time = 0;
+ rtpL16enc->next_time = 0;
rtpL16enc->time_interval = 0;
rtpL16enc->seq = 0;
@@ -167,31 +169,33 @@ gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
ret = gst_structure_get_int (structure, "rate", &rtpL16enc->frequency);
ret &= gst_structure_get_int (structure, "channels", &rtpL16enc->channels);
- if (!ret) return GST_PAD_LINK_REFUSED;
+ if (!ret)
+ return GST_PAD_LINK_REFUSED;
/* Pre-calculate what we can */
- rtpL16enc->time_interval = GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
+ rtpL16enc->time_interval =
+ GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
return GST_PAD_LINK_OK;
}
void
-gst_rtpL16enc_htons (GstBuffer *buf)
+gst_rtpL16enc_htons (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_htons (*i);
+ for (; i < len; i++) {
+ *i = g_htons (*i);
}
}
static void
-gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
+gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpL16Enc *rtpL16enc;
@@ -212,12 +216,12 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_DISCONTINUOUS:
- GST_DEBUG ("discont");
- rtpL16enc->next_time = 0;
- gst_pad_event_default (pad, event);
+ GST_DEBUG ("discont");
+ rtpL16enc->next_time = 0;
+ gst_pad_event_default (pad, event);
return;
default:
- gst_pad_event_default (pad, event);
+ gst_pad_event_default (pad, event);
return;
}
}
@@ -232,41 +236,47 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
rtp_packet_set_marker (packet, 0);
rtp_packet_set_ssrc (packet, g_htonl (rtpL16enc->ssrc));
rtp_packet_set_seq (packet, g_htons (rtpL16enc->seq));
- rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
+ rtp_packet_set_timestamp (packet,
+ g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
if (rtpL16enc->channels == 1) {
- rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
+ rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
}
else {
- rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
+ rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
}
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpL16enc_htons (buf);
+ gst_rtpL16enc_htons (buf);
#endif
outbuf = gst_buffer_new ();
- GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+ GST_BUFFER_SIZE (outbuf) =
+ rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
GST_BUFFER_TIMESTAMP (outbuf) = rtpL16enc->next_time;
- memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
- memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+ rtp_packet_get_packet_len (packet));
+ memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+ GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
- GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
++rtpL16enc->seq;
rtpL16enc->next_time += rtpL16enc->time_interval * GST_BUFFER_SIZE (buf);
-
+
rtp_packet_free (packet);
gst_buffer_unref (buf);
}
static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpL16Enc *rtpL16enc;
@@ -281,7 +291,8 @@ gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * valu
}
static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpL16Enc *rtpL16enc;
@@ -330,5 +341,5 @@ gboolean
gst_rtpL16enc_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpL16enc",
- GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
+ GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
}
diff --git a/gst/rtp/gstrtpL16enc.h b/gst/rtp/gstrtpL16enc.h
index 15ed92f6..7e902483 100644
--- a/gst/rtp/gstrtpL16enc.h
+++ b/gst/rtp/gstrtpL16enc.h
@@ -31,32 +31,32 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
-{
- GstElement element;
+ typedef struct _GstRtpL16Enc GstRtpL16Enc;
+ struct _GstRtpL16Enc
+ {
+ GstElement element;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
- GstPad *sinkpad;
- GstPad *srcpad;
+ guint frequency;
+ guint channels;
- guint frequency;
- guint channels;
+ /* the timestamp of the next frame */
+ guint64 next_time;
+ /* the interval between frames */
+ guint64 time_interval;
- /* the timestamp of the next frame */
- guint64 next_time;
- /* the interval between frames */
- guint64 time_interval;
-
- guint32 ssrc;
- guint16 seq;
-};
+ guint32 ssrc;
+ guint16 seq;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
+ struct _GstRtpL16EncClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_L16_ENC \
@@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
#define GST_IS_RTP_L16_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpL16parse.c b/gst/rtp/gstrtpL16parse.c
index 51ec258c..07bfb6a0 100644
--- a/gst/rtp/gstrtpL16parse.c
+++ b/gst/rtp/gstrtpL16parse.c
@@ -42,43 +42,41 @@ enum
};
static GstStaticPadTemplate gst_rtpL16parse_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, 2 ]"
- )
-);
+ 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, 2 ]")
+ );
static GstStaticPadTemplate gst_rtpL16parse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpL16parse_change_state (GstElement * element);
+ GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpL16parse_change_state (GstElement *
+ element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpL16parse_get_type (void)
+static GType
+gst_rtpL16parse_get_type (void)
{
static GType rtpL16parse_type = 0;
@@ -95,7 +93,9 @@ static GType gst_rtpL16parse_get_type (void)
(GInstanceInitFunc) gst_rtpL16parse_init,
};
- rtpL16parse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse", &rtpL16parse_info, 0);
+ rtpL16parse_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse",
+ &rtpL16parse_info, 0);
}
return rtpL16parse_type;
}
@@ -123,12 +123,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
- g_param_spec_int ("payload_type", "payload_type", "payload type",
- G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
- g_param_spec_int ("frequency", "frequency", "frequency",
- G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
+ g_param_spec_int ("payload_type", "payload_type", "payload type",
+ G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+ g_param_spec_int ("frequency", "frequency", "frequency",
+ G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
gobject_class->set_property = gst_rtpL16parse_set_property;
gobject_class->get_property = gst_rtpL16parse_get_property;
@@ -139,10 +139,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
static void
gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
{
- rtpL16parse->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16parse_src_template), "src");
- rtpL16parse->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16parse_sink_template), "sink");
+ rtpL16parse->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16parse_src_template), "src");
+ rtpL16parse->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16parse_sink_template), "sink");
gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
@@ -154,25 +156,27 @@ gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
}
void
-gst_rtpL16parse_ntohs (GstBuffer *buf)
+gst_rtpL16parse_ntohs (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_ntohs (*i);
+ for (; i < len; i++) {
+ *i = g_ntohs (*i);
}
}
void
-gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
+gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
{
GstCaps *caps;
- caps = gst_caps_copy(gst_static_caps_get (&gst_rtpL16parse_src_template.static_caps));
+ caps =
+ gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+ static_caps));
gst_caps_set_simple (caps,
"rate", G_TYPE_INT, rtpL16parse->frequency,
@@ -182,26 +186,27 @@ gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
}
void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse *rtpL16parse, rtp_payload_t pt)
+gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+ rtp_payload_t pt)
{
rtpL16parse->payload_type = pt;
-
+
switch (pt) {
- case PAYLOAD_L16_MONO:
- rtpL16parse->channels = 1;
- break;
- case PAYLOAD_L16_STEREO:
- rtpL16parse->channels = 2;
- break;
- default:
- g_warning ("unknown payload_t %d\n", pt);
+ case PAYLOAD_L16_MONO:
+ rtpL16parse->channels = 1;
+ break;
+ case PAYLOAD_L16_STEREO:
+ rtpL16parse->channels = 2;
+ break;
+ default:
+ g_warning ("unknown payload_t %d\n", pt);
}
gst_rtpL16_caps_nego (rtpL16parse);
}
static void
-gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
+gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpL16Parse *rtpL16parse;
@@ -220,8 +225,9 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
if (GST_IS_EVENT (buf)) {
GstEvent *event = GST_EVENT (buf);
+
gst_pad_event_default (pad, event);
-
+
return;
}
@@ -229,26 +235,30 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
gst_rtpL16_caps_nego (rtpL16parse);
}
- packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ packet =
+ rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
pt = rtp_packet_get_payload_type (packet);
if (pt != rtpL16parse->payload_type) {
- gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+ gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
}
outbuf = gst_buffer_new ();
GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
- GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+ GST_BUFFER_TIMESTAMP (outbuf) =
+ g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+ memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+ GST_BUFFER_SIZE (outbuf));
- memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-
- GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpL16parse_ntohs (outbuf);
+ gst_rtpL16parse_ntohs (outbuf);
#endif
gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -258,7 +268,8 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
}
static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpL16Parse *rtpL16parse;
@@ -279,7 +290,8 @@ gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * va
}
static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpL16Parse *rtpL16parse;
@@ -331,5 +343,5 @@ gboolean
gst_rtpL16parse_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpL16parse",
- GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
+ GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
}
diff --git a/gst/rtp/gstrtpL16parse.h b/gst/rtp/gstrtpL16parse.h
index dad467bf..b49cf240 100644
--- a/gst/rtp/gstrtpL16parse.h
+++ b/gst/rtp/gstrtpL16parse.h
@@ -30,26 +30,26 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Parse GstRtpL16Parse;
-struct _GstRtpL16Parse
-{
- GstElement element;
+ typedef struct _GstRtpL16Parse GstRtpL16Parse;
+ struct _GstRtpL16Parse
+ {
+ GstElement element;
- GstPad *sinkpad;
- GstPad *srcpad;
+ GstPad *sinkpad;
+ GstPad *srcpad;
- guint frequency;
- guint channels;
+ guint frequency;
+ guint channels;
- rtp_payload_t payload_type;
-};
+ rtp_payload_t payload_type;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
-struct _GstRtpL16ParseClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
+ struct _GstRtpL16ParseClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_L16_PARSE \
@@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
#define GST_IS_RTP_L16_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpL16pay.c b/gst/rtp/gstrtpL16pay.c
index 45d6a95a..0914d2fb 100644
--- a/gst/rtp/gstrtpL16pay.c
+++ b/gst/rtp/gstrtpL16pay.c
@@ -45,42 +45,40 @@ enum
};
static GstStaticPadTemplate gst_rtpL16enc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
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, 2 ]"
- )
-);
+ 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, 2 ]")
+ );
static GstStaticPadTemplate gst_rtpL16enc_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_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,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps);
+ GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
+ const GstCaps * caps);
static GstElementStateReturn gst_rtpL16enc_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpL16enc_get_type (void)
+static GType
+gst_rtpL16enc_get_type (void)
{
static GType rtpL16enc_type = 0;
@@ -97,7 +95,9 @@ static GType gst_rtpL16enc_get_type (void)
(GInstanceInitFunc) gst_rtpL16enc_init,
};
- rtpL16enc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc", &rtpL16enc_info, 0);
+ rtpL16enc_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
+ &rtpL16enc_info, 0);
}
return rtpL16enc_type;
}
@@ -134,10 +134,12 @@ gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
static void
gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
{
- rtpL16enc->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16enc_sink_template), "sink");
- rtpL16enc->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpL16enc_src_template), "src");
+ rtpL16enc->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16enc_sink_template), "sink");
+ rtpL16enc->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpL16enc_src_template), "src");
gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
@@ -146,7 +148,7 @@ gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
rtpL16enc->frequency = 44100;
rtpL16enc->channels = 2;
- rtpL16enc->next_time = 0;
+ rtpL16enc->next_time = 0;
rtpL16enc->time_interval = 0;
rtpL16enc->seq = 0;
@@ -167,31 +169,33 @@ gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
ret = gst_structure_get_int (structure, "rate", &rtpL16enc->frequency);
ret &= gst_structure_get_int (structure, "channels", &rtpL16enc->channels);
- if (!ret) return GST_PAD_LINK_REFUSED;
+ if (!ret)
+ return GST_PAD_LINK_REFUSED;
/* Pre-calculate what we can */
- rtpL16enc->time_interval = GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
+ rtpL16enc->time_interval =
+ GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
return GST_PAD_LINK_OK;
}
void
-gst_rtpL16enc_htons (GstBuffer *buf)
+gst_rtpL16enc_htons (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_htons (*i);
+ for (; i < len; i++) {
+ *i = g_htons (*i);
}
}
static void
-gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
+gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpL16Enc *rtpL16enc;
@@ -212,12 +216,12 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_DISCONTINUOUS:
- GST_DEBUG ("discont");
- rtpL16enc->next_time = 0;
- gst_pad_event_default (pad, event);
+ GST_DEBUG ("discont");
+ rtpL16enc->next_time = 0;
+ gst_pad_event_default (pad, event);
return;
default:
- gst_pad_event_default (pad, event);
+ gst_pad_event_default (pad, event);
return;
}
}
@@ -232,41 +236,47 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
rtp_packet_set_marker (packet, 0);
rtp_packet_set_ssrc (packet, g_htonl (rtpL16enc->ssrc));
rtp_packet_set_seq (packet, g_htons (rtpL16enc->seq));
- rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
+ rtp_packet_set_timestamp (packet,
+ g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
if (rtpL16enc->channels == 1) {
- rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
+ rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
}
else {
- rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
+ rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
}
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpL16enc_htons (buf);
+ gst_rtpL16enc_htons (buf);
#endif
outbuf = gst_buffer_new ();
- GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+ GST_BUFFER_SIZE (outbuf) =
+ rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
GST_BUFFER_TIMESTAMP (outbuf) = rtpL16enc->next_time;
- memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
- memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+ rtp_packet_get_packet_len (packet));
+ memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+ GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
- GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
++rtpL16enc->seq;
rtpL16enc->next_time += rtpL16enc->time_interval * GST_BUFFER_SIZE (buf);
-
+
rtp_packet_free (packet);
gst_buffer_unref (buf);
}
static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpL16Enc *rtpL16enc;
@@ -281,7 +291,8 @@ gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * valu
}
static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpL16Enc *rtpL16enc;
@@ -330,5 +341,5 @@ gboolean
gst_rtpL16enc_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpL16enc",
- GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
+ GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
}
diff --git a/gst/rtp/gstrtpL16pay.h b/gst/rtp/gstrtpL16pay.h
index 15ed92f6..7e902483 100644
--- a/gst/rtp/gstrtpL16pay.h
+++ b/gst/rtp/gstrtpL16pay.h
@@ -31,32 +31,32 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
-{
- GstElement element;
+ typedef struct _GstRtpL16Enc GstRtpL16Enc;
+ struct _GstRtpL16Enc
+ {
+ GstElement element;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
- GstPad *sinkpad;
- GstPad *srcpad;
+ guint frequency;
+ guint channels;
- guint frequency;
- guint channels;
+ /* the timestamp of the next frame */
+ guint64 next_time;
+ /* the interval between frames */
+ guint64 time_interval;
- /* the timestamp of the next frame */
- guint64 next_time;
- /* the interval between frames */
- guint64 time_interval;
-
- guint32 ssrc;
- guint16 seq;
-};
+ guint32 ssrc;
+ guint16 seq;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
+ struct _GstRtpL16EncClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_L16_ENC \
@@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
#define GST_IS_RTP_L16_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpgsmdepay.c b/gst/rtp/gstrtpgsmdepay.c
index 8f1b301a..55b96945 100644
--- a/gst/rtp/gstrtpgsmdepay.c
+++ b/gst/rtp/gstrtpgsmdepay.c
@@ -42,39 +42,37 @@ enum
};
static GstStaticPadTemplate gst_rtpgsmparse_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ( "audio/x-gsm, "
- "rate = (int) [ 1000, 48000 ]"
- )
-);
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+ );
static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
- GST_PAD_ALWAYS,
+ GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmparse_chain (GstPad * pad, GstData * _data);
static void gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpgsmparse_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement * element);
+ GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement *
+ element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpgsmparse_get_type (void)
+static GType
+gst_rtpgsmparse_get_type (void)
{
static GType rtpgsmparse_type = 0;
@@ -91,7 +89,9 @@ static GType gst_rtpgsmparse_get_type (void)
(GInstanceInitFunc) gst_rtpgsmparse_init,
};
- rtpgsmparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse", &rtpgsmparse_info, 0);
+ rtpgsmparse_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse",
+ &rtpgsmparse_info, 0);
}
return rtpgsmparse_type;
}
@@ -102,9 +102,9 @@ gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get(&gst_rtpgsmparse_src_template));
+ gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get(&gst_rtpgsmparse_sink_template));
+ gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
}
@@ -119,9 +119,9 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
- g_param_spec_int ("frequency", "frequency", "frequency",
- G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+ g_param_spec_int ("frequency", "frequency", "frequency",
+ G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
gobject_class->set_property = gst_rtpgsmparse_set_property;
gobject_class->get_property = gst_rtpgsmparse_get_property;
@@ -132,10 +132,12 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
static void
gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
{
- rtpgsmparse->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get(&gst_rtpgsmparse_src_template), "src");
- rtpgsmparse->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get(&gst_rtpgsmparse_sink_template), "sink");
+ rtpgsmparse->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmparse_src_template), "src");
+ rtpgsmparse->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmparse_sink_template), "sink");
gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->srcpad);
gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->sinkpad);
gst_pad_set_chain_function (rtpgsmparse->sinkpad, gst_rtpgsmparse_chain);
@@ -144,32 +146,32 @@ gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
}
void
-gst_rtpgsmparse_ntohs (GstBuffer *buf)
+gst_rtpgsmparse_ntohs (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_ntohs (*i);
+ for (; i < len; i++) {
+ *i = g_ntohs (*i);
}
}
void
-gst_rtpgsm_caps_nego (GstRtpGSMParse *rtpgsmparse)
+gst_rtpgsm_caps_nego (GstRtpGSMParse * rtpgsmparse)
{
GstCaps *caps;
caps = gst_caps_new_simple ("audio/x-gsm",
- "rate", G_TYPE_INT, rtpgsmparse->frequency);
+ "rate", G_TYPE_INT, rtpgsmparse->frequency);
gst_pad_try_set_caps (rtpgsmparse->srcpad, caps);
}
static void
-gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmparse_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpGSMParse *rtpgsmparse;
@@ -188,8 +190,9 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
if (GST_IS_EVENT (buf)) {
GstEvent *event = GST_EVENT (buf);
+
gst_pad_event_default (pad, event);
-
+
return;
}
@@ -197,7 +200,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
gst_rtpgsm_caps_nego (rtpgsmparse);
}
- packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ packet =
+ rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
pt = rtp_packet_get_payload_type (packet);
@@ -211,15 +215,18 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
outbuf = gst_buffer_new ();
GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
- GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+ GST_BUFFER_TIMESTAMP (outbuf) =
+ g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+ memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+ GST_BUFFER_SIZE (outbuf));
- memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-
- GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpgsmparse_ntohs (outbuf);
+ gst_rtpgsmparse_ntohs (outbuf);
#endif
gst_pad_push (rtpgsmparse->srcpad, GST_DATA (outbuf));
@@ -229,7 +236,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
}
static void
-gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpGSMParse *rtpgsmparse;
@@ -247,7 +255,8 @@ gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * va
}
static void
-gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpGSMParse *rtpgsmparse;
@@ -296,5 +305,5 @@ gboolean
gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpgsmparse",
- GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
+ GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
}
diff --git a/gst/rtp/gstrtpgsmdepay.h b/gst/rtp/gstrtpgsmdepay.h
index 0a006e70..f3b0e659 100644
--- a/gst/rtp/gstrtpgsmdepay.h
+++ b/gst/rtp/gstrtpgsmdepay.h
@@ -30,23 +30,23 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMParse GstRtpGSMParse;
-struct _GstRtpGSMParse
-{
- GstElement element;
+ typedef struct _GstRtpGSMParse GstRtpGSMParse;
+ struct _GstRtpGSMParse
+ {
+ GstElement element;
- GstPad *sinkpad;
- GstPad *srcpad;
+ GstPad *sinkpad;
+ GstPad *srcpad;
- guint frequency;
-};
+ guint frequency;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
-struct _GstRtpGSMParseClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
+ struct _GstRtpGSMParseClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_GSM_PARSE \
@@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
#define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpgsmenc.c b/gst/rtp/gstrtpgsmenc.c
index 495e4367..6301dd8c 100644
--- a/gst/rtp/gstrtpgsmenc.c
+++ b/gst/rtp/gstrtpgsmenc.c
@@ -46,38 +46,36 @@ enum
};
static GstStaticPadTemplate gst_rtpgsmenc_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 ]"
- )
-);
+ GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+ );
static GstStaticPadTemplate gst_rtpgsmenc_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_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,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpgsmenc_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps);
+ GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad,
+ const GstCaps * caps);
static GstElementStateReturn gst_rtpgsmenc_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpgsmenc_get_type (void)
+static GType
+gst_rtpgsmenc_get_type (void)
{
static GType rtpgsmenc_type = 0;
@@ -94,7 +92,9 @@ static GType gst_rtpgsmenc_get_type (void)
(GInstanceInitFunc) gst_rtpgsmenc_init,
};
- rtpgsmenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc", &rtpgsmenc_info, 0);
+ rtpgsmenc_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc",
+ &rtpgsmenc_info, 0);
}
return rtpgsmenc_type;
}
@@ -131,10 +131,12 @@ gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
static void
gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
{
- rtpgsmenc->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "sink");
- rtpgsmenc->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "src");
+ rtpgsmenc->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmenc_sink_template), "sink");
+ rtpgsmenc->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmenc_sink_template), "src");
gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->sinkpad);
gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->srcpad);
gst_pad_set_chain_function (rtpgsmenc->sinkpad, gst_rtpgsmenc_chain);
@@ -142,7 +144,7 @@ gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
rtpgsmenc->frequency = 8000;
- rtpgsmenc->next_time = 0;
+ rtpgsmenc->next_time = 0;
rtpgsmenc->time_interval = 0;
rtpgsmenc->seq = 0;
@@ -161,7 +163,8 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
structure = gst_caps_get_structure (caps, 0);
ret = gst_structure_get_int (structure, "rate", &rtpgsmenc->frequency);
- if (!ret) return GST_PAD_LINK_REFUSED;
+ if (!ret)
+ return GST_PAD_LINK_REFUSED;
/* Pre-calculate what we can */
rtpgsmenc->time_interval = GST_SECOND / (2 * rtpgsmenc->frequency);
@@ -171,21 +174,21 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
void
-gst_rtpgsmenc_htons (GstBuffer *buf)
+gst_rtpgsmenc_htons (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_htons (*i);
+ for (; i < len; i++) {
+ *i = g_htons (*i);
}
}
static void
-gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmenc_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpGSMEnc *rtpgsmenc;
@@ -206,12 +209,12 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_DISCONTINUOUS:
- GST_DEBUG ("discont");
- rtpgsmenc->next_time = 0;
- gst_pad_event_default (pad, event);
+ GST_DEBUG ("discont");
+ rtpgsmenc->next_time = 0;
+ gst_pad_event_default (pad, event);
return;
default:
- gst_pad_event_default (pad, event);
+ gst_pad_event_default (pad, event);
return;
}
}
@@ -226,7 +229,8 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
rtp_packet_set_marker (packet, 0);
rtp_packet_set_ssrc (packet, g_htonl (rtpgsmenc->ssrc));
rtp_packet_set_seq (packet, g_htons (rtpgsmenc->seq));
- rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
+ rtp_packet_set_timestamp (packet,
+ g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_GSM);
/* FIXME: According to RFC 1890, this is required, right? */
@@ -235,25 +239,30 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
#endif
outbuf = gst_buffer_new ();
- GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+ GST_BUFFER_SIZE (outbuf) =
+ rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
GST_BUFFER_TIMESTAMP (outbuf) = rtpgsmenc->next_time;
- memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
- memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+ rtp_packet_get_packet_len (packet));
+ memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+ GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
- GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
gst_pad_push (rtpgsmenc->srcpad, GST_DATA (outbuf));
++rtpgsmenc->seq;
rtpgsmenc->next_time += rtpgsmenc->time_interval * GST_BUFFER_SIZE (buf);
-
+
rtp_packet_free (packet);
gst_buffer_unref (buf);
}
static void
-gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpGSMEnc *rtpgsmenc;
@@ -268,7 +277,8 @@ gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * valu
}
static void
-gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpGSMEnc *rtpgsmenc;
@@ -317,5 +327,5 @@ gboolean
gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpgsmenc",
- GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
+ GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
}
diff --git a/gst/rtp/gstrtpgsmenc.h b/gst/rtp/gstrtpgsmenc.h
index 1220d402..e44e5dae 100644
--- a/gst/rtp/gstrtpgsmenc.h
+++ b/gst/rtp/gstrtpgsmenc.h
@@ -31,31 +31,31 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
-struct _GstRtpGSMEnc
-{
- GstElement element;
+ typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
+ struct _GstRtpGSMEnc
+ {
+ GstElement element;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
- GstPad *sinkpad;
- GstPad *srcpad;
+ guint frequency;
- guint frequency;
+ /* the timestamp of the next frame */
+ guint64 next_time;
+ /* the interval between frames */
+ guint64 time_interval;
- /* the timestamp of the next frame */
- guint64 next_time;
- /* the interval between frames */
- guint64 time_interval;
-
- guint32 ssrc;
- guint16 seq;
-};
+ guint32 ssrc;
+ guint16 seq;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
-struct _GstRtpGSMEncClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
+ struct _GstRtpGSMEncClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_GSM_ENC \
@@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
#define GST_IS_RTP_GSM_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpgsmparse.c b/gst/rtp/gstrtpgsmparse.c
index 8f1b301a..55b96945 100644
--- a/gst/rtp/gstrtpgsmparse.c
+++ b/gst/rtp/gstrtpgsmparse.c
@@ -42,39 +42,37 @@ enum
};
static GstStaticPadTemplate gst_rtpgsmparse_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ( "audio/x-gsm, "
- "rate = (int) [ 1000, 48000 ]"
- )
-);
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+ );
static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
- "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
- GST_PAD_ALWAYS,
+ GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmparse_chain (GstPad * pad, GstData * _data);
static void gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpgsmparse_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement * element);
+ GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement *
+ element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpgsmparse_get_type (void)
+static GType
+gst_rtpgsmparse_get_type (void)
{
static GType rtpgsmparse_type = 0;
@@ -91,7 +89,9 @@ static GType gst_rtpgsmparse_get_type (void)
(GInstanceInitFunc) gst_rtpgsmparse_init,
};
- rtpgsmparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse", &rtpgsmparse_info, 0);
+ rtpgsmparse_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse",
+ &rtpgsmparse_info, 0);
}
return rtpgsmparse_type;
}
@@ -102,9 +102,9 @@ gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get(&gst_rtpgsmparse_src_template));
+ gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get(&gst_rtpgsmparse_sink_template));
+ gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
}
@@ -119,9 +119,9 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
- g_param_spec_int ("frequency", "frequency", "frequency",
- G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
+ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+ g_param_spec_int ("frequency", "frequency", "frequency",
+ G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
gobject_class->set_property = gst_rtpgsmparse_set_property;
gobject_class->get_property = gst_rtpgsmparse_get_property;
@@ -132,10 +132,12 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
static void
gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
{
- rtpgsmparse->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get(&gst_rtpgsmparse_src_template), "src");
- rtpgsmparse->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get(&gst_rtpgsmparse_sink_template), "sink");
+ rtpgsmparse->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmparse_src_template), "src");
+ rtpgsmparse->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmparse_sink_template), "sink");
gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->srcpad);
gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->sinkpad);
gst_pad_set_chain_function (rtpgsmparse->sinkpad, gst_rtpgsmparse_chain);
@@ -144,32 +146,32 @@ gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
}
void
-gst_rtpgsmparse_ntohs (GstBuffer *buf)
+gst_rtpgsmparse_ntohs (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_ntohs (*i);
+ for (; i < len; i++) {
+ *i = g_ntohs (*i);
}
}
void
-gst_rtpgsm_caps_nego (GstRtpGSMParse *rtpgsmparse)
+gst_rtpgsm_caps_nego (GstRtpGSMParse * rtpgsmparse)
{
GstCaps *caps;
caps = gst_caps_new_simple ("audio/x-gsm",
- "rate", G_TYPE_INT, rtpgsmparse->frequency);
+ "rate", G_TYPE_INT, rtpgsmparse->frequency);
gst_pad_try_set_caps (rtpgsmparse->srcpad, caps);
}
static void
-gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmparse_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpGSMParse *rtpgsmparse;
@@ -188,8 +190,9 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
if (GST_IS_EVENT (buf)) {
GstEvent *event = GST_EVENT (buf);
+
gst_pad_event_default (pad, event);
-
+
return;
}
@@ -197,7 +200,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
gst_rtpgsm_caps_nego (rtpgsmparse);
}
- packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ packet =
+ rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
pt = rtp_packet_get_payload_type (packet);
@@ -211,15 +215,18 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
outbuf = gst_buffer_new ();
GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
- GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+ GST_BUFFER_TIMESTAMP (outbuf) =
+ g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+ memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+ GST_BUFFER_SIZE (outbuf));
- memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-
- GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
/* FIXME: According to RFC 1890, this is required, right? */
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- gst_rtpgsmparse_ntohs (outbuf);
+ gst_rtpgsmparse_ntohs (outbuf);
#endif
gst_pad_push (rtpgsmparse->srcpad, GST_DATA (outbuf));
@@ -229,7 +236,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
}
static void
-gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpGSMParse *rtpgsmparse;
@@ -247,7 +255,8 @@ gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * va
}
static void
-gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpGSMParse *rtpgsmparse;
@@ -296,5 +305,5 @@ gboolean
gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpgsmparse",
- GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
+ GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
}
diff --git a/gst/rtp/gstrtpgsmparse.h b/gst/rtp/gstrtpgsmparse.h
index 0a006e70..f3b0e659 100644
--- a/gst/rtp/gstrtpgsmparse.h
+++ b/gst/rtp/gstrtpgsmparse.h
@@ -30,23 +30,23 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMParse GstRtpGSMParse;
-struct _GstRtpGSMParse
-{
- GstElement element;
+ typedef struct _GstRtpGSMParse GstRtpGSMParse;
+ struct _GstRtpGSMParse
+ {
+ GstElement element;
- GstPad *sinkpad;
- GstPad *srcpad;
+ GstPad *sinkpad;
+ GstPad *srcpad;
- guint frequency;
-};
+ guint frequency;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
-struct _GstRtpGSMParseClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
+ struct _GstRtpGSMParseClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_GSM_PARSE \
@@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
#define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/gstrtpgsmpay.c b/gst/rtp/gstrtpgsmpay.c
index 495e4367..6301dd8c 100644
--- a/gst/rtp/gstrtpgsmpay.c
+++ b/gst/rtp/gstrtpgsmpay.c
@@ -46,38 +46,36 @@ enum
};
static GstStaticPadTemplate gst_rtpgsmenc_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 ]"
- )
-);
+ GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+ );
static GstStaticPadTemplate gst_rtpgsmenc_src_template =
-GST_STATIC_PAD_TEMPLATE (
- "src",
+GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp")
-);
+ );
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_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,
- const GValue * value, GParamSpec * pspec);
+ const GValue * value, GParamSpec * pspec);
static void gst_rtpgsmenc_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps);
+ GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad,
+ const GstCaps * caps);
static GstElementStateReturn gst_rtpgsmenc_change_state (GstElement * element);
static GstElementClass *parent_class = NULL;
-static GType gst_rtpgsmenc_get_type (void)
+static GType
+gst_rtpgsmenc_get_type (void)
{
static GType rtpgsmenc_type = 0;
@@ -94,7 +92,9 @@ static GType gst_rtpgsmenc_get_type (void)
(GInstanceInitFunc) gst_rtpgsmenc_init,
};
- rtpgsmenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc", &rtpgsmenc_info, 0);
+ rtpgsmenc_type =
+ g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc",
+ &rtpgsmenc_info, 0);
}
return rtpgsmenc_type;
}
@@ -131,10 +131,12 @@ gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
static void
gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
{
- rtpgsmenc->sinkpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "sink");
- rtpgsmenc->srcpad = gst_pad_new_from_template (
- gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "src");
+ rtpgsmenc->sinkpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmenc_sink_template), "sink");
+ rtpgsmenc->srcpad =
+ gst_pad_new_from_template (gst_static_pad_template_get
+ (&gst_rtpgsmenc_sink_template), "src");
gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->sinkpad);
gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->srcpad);
gst_pad_set_chain_function (rtpgsmenc->sinkpad, gst_rtpgsmenc_chain);
@@ -142,7 +144,7 @@ gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
rtpgsmenc->frequency = 8000;
- rtpgsmenc->next_time = 0;
+ rtpgsmenc->next_time = 0;
rtpgsmenc->time_interval = 0;
rtpgsmenc->seq = 0;
@@ -161,7 +163,8 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
structure = gst_caps_get_structure (caps, 0);
ret = gst_structure_get_int (structure, "rate", &rtpgsmenc->frequency);
- if (!ret) return GST_PAD_LINK_REFUSED;
+ if (!ret)
+ return GST_PAD_LINK_REFUSED;
/* Pre-calculate what we can */
rtpgsmenc->time_interval = GST_SECOND / (2 * rtpgsmenc->frequency);
@@ -171,21 +174,21 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
void
-gst_rtpgsmenc_htons (GstBuffer *buf)
+gst_rtpgsmenc_htons (GstBuffer * buf)
{
gint16 *i, *len;
/* FIXME: is this code correct or even sane at all? */
- i = (gint16 *) GST_BUFFER_DATA(buf);
+ i = (gint16 *) GST_BUFFER_DATA (buf);
len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
- for (; i<len; i++) {
- *i = g_htons (*i);
+ for (; i < len; i++) {
+ *i = g_htons (*i);
}
}
static void
-gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmenc_chain (GstPad * pad, GstData * _data)
{
GstBuffer *buf = GST_BUFFER (_data);
GstRtpGSMEnc *rtpgsmenc;
@@ -206,12 +209,12 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_DISCONTINUOUS:
- GST_DEBUG ("discont");
- rtpgsmenc->next_time = 0;
- gst_pad_event_default (pad, event);
+ GST_DEBUG ("discont");
+ rtpgsmenc->next_time = 0;
+ gst_pad_event_default (pad, event);
return;
default:
- gst_pad_event_default (pad, event);
+ gst_pad_event_default (pad, event);
return;
}
}
@@ -226,7 +229,8 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
rtp_packet_set_marker (packet, 0);
rtp_packet_set_ssrc (packet, g_htonl (rtpgsmenc->ssrc));
rtp_packet_set_seq (packet, g_htons (rtpgsmenc->seq));
- rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
+ rtp_packet_set_timestamp (packet,
+ g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_GSM);
/* FIXME: According to RFC 1890, this is required, right? */
@@ -235,25 +239,30 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
#endif
outbuf = gst_buffer_new ();
- GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+ GST_BUFFER_SIZE (outbuf) =
+ rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
GST_BUFFER_TIMESTAMP (outbuf) = rtpgsmenc->next_time;
- memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
- memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+ memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+ rtp_packet_get_packet_len (packet));
+ memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+ GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
- GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+ GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
+ GST_BUFFER_SIZE (outbuf));
gst_pad_push (rtpgsmenc->srcpad, GST_DATA (outbuf));
++rtpgsmenc->seq;
rtpgsmenc->next_time += rtpgsmenc->time_interval * GST_BUFFER_SIZE (buf);
-
+
rtp_packet_free (packet);
gst_buffer_unref (buf);
}
static void
-gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
{
GstRtpGSMEnc *rtpgsmenc;
@@ -268,7 +277,8 @@ gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * valu
}
static void
-gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value,
+ GParamSpec * pspec)
{
GstRtpGSMEnc *rtpgsmenc;
@@ -317,5 +327,5 @@ gboolean
gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "rtpgsmenc",
- GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
+ GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
}
diff --git a/gst/rtp/gstrtpgsmpay.h b/gst/rtp/gstrtpgsmpay.h
index 1220d402..e44e5dae 100644
--- a/gst/rtp/gstrtpgsmpay.h
+++ b/gst/rtp/gstrtpgsmpay.h
@@ -31,31 +31,31 @@ extern "C"
#endif /* __cplusplus */
/* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
-struct _GstRtpGSMEnc
-{
- GstElement element;
+ typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
+ struct _GstRtpGSMEnc
+ {
+ GstElement element;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
- GstPad *sinkpad;
- GstPad *srcpad;
+ guint frequency;
- guint frequency;
+ /* the timestamp of the next frame */
+ guint64 next_time;
+ /* the interval between frames */
+ guint64 time_interval;
- /* the timestamp of the next frame */
- guint64 next_time;
- /* the interval between frames */
- guint64 time_interval;
-
- guint32 ssrc;
- guint16 seq;
-};
+ guint32 ssrc;
+ guint16 seq;
+ };
/* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
-struct _GstRtpGSMEncClass
-{
- GstElementClass parent_class;
-};
+ typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
+ struct _GstRtpGSMEncClass
+ {
+ GstElementClass parent_class;
+ };
/* Standard macros for defining types for this element. */
#define GST_TYPE_RTP_GSM_ENC \
@@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
#define GST_IS_RTP_GSM_ENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
+ gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
#ifdef __cplusplus
}
diff --git a/gst/rtp/rtp-packet.c b/gst/rtp/rtp-packet.c
index 11077ef6..f33772b5 100644
--- a/gst/rtp/rtp-packet.c
+++ b/gst/rtp/rtp-packet.c
@@ -33,65 +33,64 @@
#include "rtp-packet.h"
Rtp_Packet
-rtp_packet_new_take_data(gpointer data, guint data_len)
+rtp_packet_new_take_data (gpointer data, guint data_len)
{
Rtp_Packet packet;
//g_return_val_if_fail(data_len < RTP_MTU, NULL);
- packet = g_malloc(sizeof *packet);
+ packet = g_malloc (sizeof *packet);
- packet -> data = data;
- packet -> data_len = data_len;
+ packet->data = data;
+ packet->data_len = data_len;
return packet;
}
Rtp_Packet
-rtp_packet_new_copy_data(gpointer data, guint data_len)
+rtp_packet_new_copy_data (gpointer data, guint data_len)
{
Rtp_Packet packet;
//g_return_val_if_fail(data_len < RTP_MTU, NULL);
- packet = g_malloc(sizeof *packet);
+ packet = g_malloc (sizeof *packet);
- packet -> data = g_memdup(data, data_len);
- packet -> data_len = data_len;
+ packet->data = g_memdup (data, data_len);
+ packet->data_len = data_len;
return packet;
}
Rtp_Packet
-rtp_packet_new_allocate(guint payload_len, guint pad_len, guint csrc_count)
+rtp_packet_new_allocate (guint payload_len, guint pad_len, guint csrc_count)
{
guint len;
Rtp_Packet packet;
- g_return_val_if_fail(csrc_count <= 15, NULL);
+ g_return_val_if_fail (csrc_count <= 15, NULL);
- len = RTP_HEADER_LEN
- + csrc_count * sizeof(guint32)
- + payload_len + pad_len;
+ len = RTP_HEADER_LEN + csrc_count * sizeof (guint32)
+ + payload_len + pad_len;
//g_return_val_if_fail(len < RTP_MTU, NULL);
- packet = g_malloc(sizeof *packet);
+ packet = g_malloc (sizeof *packet);
- packet -> data_len = len;
- packet -> data = g_malloc(len);
+ packet->data_len = len;
+ packet->data = g_malloc (len);
- return(packet);
+ return (packet);
}
void
-rtp_packet_free(Rtp_Packet packet)
+rtp_packet_free (Rtp_Packet packet)
{
- g_return_if_fail(packet != NULL);
+ g_return_if_fail (packet != NULL);
- g_free(packet -> data);
- g_free(packet);
+ g_free (packet->data);
+ g_free (packet);
}
/*Rtp_Packet
@@ -124,187 +123,185 @@ rtp_packet_send(Rtp_Packet packet, int fd, struct sockaddr *toaddr, socklen_t to
}*/
guint8
-rtp_packet_get_version(Rtp_Packet packet)
+rtp_packet_get_version (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> version;
+ return ((Rtp_Header) packet->data)->version;
}
void
-rtp_packet_set_version(Rtp_Packet packet, guint8 version)
+rtp_packet_set_version (Rtp_Packet packet, guint8 version)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(version < 0x04);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (version < 0x04);
- ((Rtp_Header) packet -> data) -> version = version;
+ ((Rtp_Header) packet->data)->version = version;
}
guint8
-rtp_packet_get_padding(Rtp_Packet packet)
+rtp_packet_get_padding (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> padding;
+ return ((Rtp_Header) packet->data)->padding;
}
void
-rtp_packet_set_padding(Rtp_Packet packet, guint8 padding)
+rtp_packet_set_padding (Rtp_Packet packet, guint8 padding)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(padding < 0x02);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (padding < 0x02);
- ((Rtp_Header) packet -> data) -> padding = padding;
+ ((Rtp_Header) packet->data)->padding = padding;
}
guint8
-rtp_packet_get_csrc_count(Rtp_Packet packet)
+rtp_packet_get_csrc_count (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> csrc_count;
+ return ((Rtp_Header) packet->data)->csrc_count;
}
guint8
-rtp_packet_get_extension(Rtp_Packet packet)
+rtp_packet_get_extension (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> extension;
+ return ((Rtp_Header) packet->data)->extension;
}
void
-rtp_packet_set_extension(Rtp_Packet packet, guint8 extension)
+rtp_packet_set_extension (Rtp_Packet packet, guint8 extension)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(extension < 0x02);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (extension < 0x02);
- ((Rtp_Header) packet -> data) -> extension = extension;
+ ((Rtp_Header) packet->data)->extension = extension;
}
void
-rtp_packet_set_csrc_count(Rtp_Packet packet, guint8 csrc_count)
+rtp_packet_set_csrc_count (Rtp_Packet packet, guint8 csrc_count)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(csrc_count < 0x04);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (csrc_count < 0x04);
- ((Rtp_Header) packet -> data) -> csrc_count = csrc_count;
+ ((Rtp_Header) packet->data)->csrc_count = csrc_count;
}
guint8
-rtp_packet_get_marker(Rtp_Packet packet)
+rtp_packet_get_marker (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> marker;
+ return ((Rtp_Header) packet->data)->marker;
}
void
-rtp_packet_set_marker(Rtp_Packet packet, guint8 marker)
+rtp_packet_set_marker (Rtp_Packet packet, guint8 marker)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(marker < 0x02);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (marker < 0x02);
- ((Rtp_Header) packet -> data) -> marker = marker;
+ ((Rtp_Header) packet->data)->marker = marker;
}
guint8
-rtp_packet_get_payload_type(Rtp_Packet packet)
+rtp_packet_get_payload_type (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return ((Rtp_Header) packet -> data) -> payload_type;
+ return ((Rtp_Header) packet->data)->payload_type;
}
void
-rtp_packet_set_payload_type(Rtp_Packet packet, guint8 payload_type)
+rtp_packet_set_payload_type (Rtp_Packet packet, guint8 payload_type)
{
- g_return_if_fail(packet != NULL);
- g_return_if_fail(payload_type < 0x80);
+ g_return_if_fail (packet != NULL);
+ g_return_if_fail (payload_type < 0x80);
- ((Rtp_Header) packet -> data) -> payload_type = payload_type;
+ ((Rtp_Header) packet->data)->payload_type = payload_type;
}
guint16
-rtp_packet_get_seq(Rtp_Packet packet)
+rtp_packet_get_seq (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return g_ntohs(((Rtp_Header) packet -> data) -> seq);
+ return g_ntohs (((Rtp_Header) packet->data)->seq);
}
void
-rtp_packet_set_seq(Rtp_Packet packet, guint16 seq)
+rtp_packet_set_seq (Rtp_Packet packet, guint16 seq)
{
- g_return_if_fail(packet != NULL);
+ g_return_if_fail (packet != NULL);
- ((Rtp_Header) packet -> data) -> seq = g_htons(seq);
+ ((Rtp_Header) packet->data)->seq = g_htons (seq);
}
guint32
-rtp_packet_get_timestamp(Rtp_Packet packet)
+rtp_packet_get_timestamp (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return g_ntohl(((Rtp_Header) packet -> data) -> timestamp);
+ return g_ntohl (((Rtp_Header) packet->data)->timestamp);
}
void
-rtp_packet_set_timestamp(Rtp_Packet packet, guint32 timestamp)
+rtp_packet_set_timestamp (Rtp_Packet packet, guint32 timestamp)
{
- g_return_if_fail(packet != NULL);
+ g_return_if_fail (packet != NULL);
- ((Rtp_Header) packet -> data) -> timestamp = g_htonl(timestamp);
+ ((Rtp_Header) packet->data)->timestamp = g_htonl (timestamp);
}
guint32
-rtp_packet_get_ssrc(Rtp_Packet packet)
+rtp_packet_get_ssrc (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return g_ntohl(((Rtp_Header) packet -> data) -> ssrc);
+ return g_ntohl (((Rtp_Header) packet->data)->ssrc);
}
void
-rtp_packet_set_ssrc(Rtp_Packet packet, guint32 ssrc)
+rtp_packet_set_ssrc (Rtp_Packet packet, guint32 ssrc)
{
- g_return_if_fail(packet != NULL);
+ g_return_if_fail (packet != NULL);
- ((Rtp_Header) packet -> data) -> ssrc = g_htonl(ssrc);
+ ((Rtp_Header) packet->data)->ssrc = g_htonl (ssrc);
}
guint
-rtp_packet_get_payload_len(Rtp_Packet packet)
+rtp_packet_get_payload_len (Rtp_Packet packet)
{
guint len;
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- len = packet -> data_len
- - RTP_HEADER_LEN
- - rtp_packet_get_csrc_count(packet) * sizeof(guint32);
+ len = packet->data_len
+ - RTP_HEADER_LEN - rtp_packet_get_csrc_count (packet) * sizeof (guint32);
- if (rtp_packet_get_padding(packet)) {
- len -= ((guint8 *) packet -> data)[packet -> data_len - 1];
+ if (rtp_packet_get_padding (packet)) {
+ len -= ((guint8 *) packet->data)[packet->data_len - 1];
}
return len;
}
gpointer
-rtp_packet_get_payload(Rtp_Packet packet)
+rtp_packet_get_payload (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, NULL);
+ g_return_val_if_fail (packet != NULL, NULL);
- return ((char *) packet -> data)
- + RTP_HEADER_LEN
- + rtp_packet_get_csrc_count(packet) * sizeof(guint32);
+ return ((char *) packet->data)
+ + RTP_HEADER_LEN + rtp_packet_get_csrc_count (packet) * sizeof (guint32);
}
guint
-rtp_packet_get_packet_len(Rtp_Packet packet)
+rtp_packet_get_packet_len (Rtp_Packet packet)
{
- g_return_val_if_fail(packet != NULL, 0);
+ g_return_val_if_fail (packet != NULL, 0);
- return packet -> data_len;
+ return packet->data_len;
}
diff --git a/gst/rtp/rtp-packet.h b/gst/rtp/rtp-packet.h
index f731c5f0..b130c86e 100644
--- a/gst/rtp/rtp-packet.h
+++ b/gst/rtp/rtp-packet.h
@@ -30,77 +30,80 @@
#endif
#ifdef __cplusplus
-extern "C" {
+extern "C"
+{
#endif
#define RTP_VERSION 2
#define RTP_HEADER_LEN 12
#define RTP_MTU 2048
-typedef struct Rtp_Header *Rtp_Header;
+ typedef struct Rtp_Header *Rtp_Header;
-struct Rtp_Packet_Struct {
- gpointer data;
- guint data_len;
-};
+ struct Rtp_Packet_Struct
+ {
+ gpointer data;
+ guint data_len;
+ };
-struct Rtp_Header {
+ struct Rtp_Header
+ {
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
- unsigned int csrc_count:4; /* CSRC count */
- unsigned int extension:1; /* header extension flag */
- unsigned int padding:1; /* padding flag */
- unsigned int version:2; /* protocol version */
- unsigned int payload_type:7; /* payload type */
- unsigned int marker:1; /* marker bit */
+ unsigned int csrc_count:4; /* CSRC count */
+ unsigned int extension:1; /* header extension flag */
+ unsigned int padding:1; /* padding flag */
+ unsigned int version:2; /* protocol version */
+ unsigned int payload_type:7; /* payload type */
+ unsigned int marker:1; /* marker bit */
#elif G_BYTE_ORDER == G_BIG_ENDIAN
- unsigned int version:2; /* protocol version */
- unsigned int padding:1; /* padding flag */
- unsigned int extension:1; /* header extension flag */
- unsigned int csrc_count:4; /* CSRC count */
- unsigned int marker:1; /* marker bit */
- unsigned int payload_type:7; /* payload type */
+ unsigned int version:2; /* protocol version */
+ unsigned int padding:1; /* padding flag */
+ unsigned int extension:1; /* header extension flag */
+ unsigned int csrc_count:4; /* CSRC count */
+ unsigned int marker:1; /* marker bit */
+ unsigned int payload_type:7; /* payload type */
#else
#error "G_BYTE_ORDER should be big or little endian."
#endif
- guint16 seq; /* sequence number */
- guint32 timestamp; /* timestamp */
- guint32 ssrc; /* synchronization source */
- guint32 csrc[1]; /* optional CSRC list */
-};
+ guint16 seq; /* sequence number */
+ guint32 timestamp; /* timestamp */
+ guint32 ssrc; /* synchronization source */
+ guint32 csrc[1]; /* optional CSRC list */
+ };
-typedef struct Rtp_Packet_Struct *Rtp_Packet;
+ typedef struct Rtp_Packet_Struct *Rtp_Packet;
-Rtp_Packet rtp_packet_new_take_data(gpointer data, guint data_len);
-Rtp_Packet rtp_packet_new_copy_data(gpointer data, guint data_len);
-Rtp_Packet rtp_packet_new_allocate(guint payload_len,
- guint pad_len, guint csrc_count);
-void rtp_packet_free(Rtp_Packet packet);
+ Rtp_Packet rtp_packet_new_take_data (gpointer data, guint data_len);
+ Rtp_Packet rtp_packet_new_copy_data (gpointer data, guint data_len);
+ Rtp_Packet rtp_packet_new_allocate (guint payload_len,
+ guint pad_len, guint csrc_count);
+ void rtp_packet_free (Rtp_Packet packet);
//Rtp_Packet rtp_packet_read(int fd, struct sockaddr *fromaddr, socklen_t *fromlen);
//void rtp_packet_send(Rtp_Packet packet, int fd, struct sockaddr *toaddr, socklen_t tolen);
-guint8 rtp_packet_get_version(Rtp_Packet packet);
-void rtp_packet_set_version(Rtp_Packet packet, guint8 version);
-guint8 rtp_packet_get_padding(Rtp_Packet packet);
-void rtp_packet_set_padding(Rtp_Packet packet, guint8 padding);
-guint8 rtp_packet_get_csrc_count(Rtp_Packet packet);
-guint8 rtp_packet_get_extension(Rtp_Packet packet);
-void rtp_packet_set_extension(Rtp_Packet packet, guint8 extension);
-void rtp_packet_set_csrc_count(Rtp_Packet packet, guint8 csrc_count);
-guint8 rtp_packet_get_marker(Rtp_Packet packet);
-void rtp_packet_set_marker(Rtp_Packet packet, guint8 marker);
-guint8 rtp_packet_get_payload_type(Rtp_Packet packet);
-void rtp_packet_set_payload_type(Rtp_Packet packet, guint8 payload_type);
-guint16 rtp_packet_get_seq(Rtp_Packet packet);
-void rtp_packet_set_seq(Rtp_Packet packet, guint16 seq);
-guint32 rtp_packet_get_timestamp(Rtp_Packet packet);
-void rtp_packet_set_timestamp(Rtp_Packet packet, guint32 timestamp);
-guint32 rtp_packet_get_ssrc(Rtp_Packet packet);
-void rtp_packet_set_ssrc(Rtp_Packet packet, guint32 ssrc);
-guint rtp_packet_get_payload_len(Rtp_Packet packet);
-gpointer rtp_packet_get_payload(Rtp_Packet packet);
-guint rtp_packet_get_packet_len(Rtp_Packet packet);
+ guint8 rtp_packet_get_version (Rtp_Packet packet);
+ void rtp_packet_set_version (Rtp_Packet packet, guint8 version);
+ guint8 rtp_packet_get_padding (Rtp_Packet packet);
+ void rtp_packet_set_padding (Rtp_Packet packet, guint8 padding);
+ guint8 rtp_packet_get_csrc_count (Rtp_Packet packet);
+ guint8 rtp_packet_get_extension (Rtp_Packet packet);
+ void rtp_packet_set_extension (Rtp_Packet packet, guint8 extension);
+ void rtp_packet_set_csrc_count (Rtp_Packet packet, guint8 csrc_count);
+ guint8 rtp_packet_get_marker (Rtp_Packet packet);
+ void rtp_packet_set_marker (Rtp_Packet packet, guint8 marker);
+ guint8 rtp_packet_get_payload_type (Rtp_Packet packet);
+ void rtp_packet_set_payload_type (Rtp_Packet packet, guint8 payload_type);
+ guint16 rtp_packet_get_seq (Rtp_Packet packet);
+ void rtp_packet_set_seq (Rtp_Packet packet, guint16 seq);
+ guint32 rtp_packet_get_timestamp (Rtp_Packet packet);
+ void rtp_packet_set_timestamp (Rtp_Packet packet, guint32 timestamp);
+ guint32 rtp_packet_get_ssrc (Rtp_Packet packet);
+ void rtp_packet_set_ssrc (Rtp_Packet packet, guint32 ssrc);
+ guint rtp_packet_get_payload_len (Rtp_Packet packet);
+ gpointer rtp_packet_get_payload (Rtp_Packet packet);
+ guint rtp_packet_get_packet_len (Rtp_Packet packet);
#ifdef __cplusplus
}
#endif
-#endif /* rtp-packet.h */
+#endif /* rtp-packet.h */