*/
#define GST_RTCP_VERSION 2
-/**
+/**
* GstRTCPType:
* @GST_RTCP_TYPE_INVALID: Invalid type
* @GST_RTCP_TYPE_SR: Sender report
GST_RTCP_PSFB_TYPE_AFB = 15
} GstRTCPFBType;
-/**
+/**
* GstRTCPSDESType:
* @GST_RTCP_SDES_INVALID: Invalid SDES entry
* @GST_RTCP_SDES_END: End of SDES list
*
* Different types of SDES content.
*/
-typedef enum
+typedef enum
{
GST_RTCP_SDES_INVALID = -1,
GST_RTCP_SDES_END = 0,
* @buffer: pointer to RTCP buffer
* @offset: offset of packet in buffer data
*
- * Data structure that points to a packet at @offset in @buffer.
+ * Data structure that points to a packet at @offset in @buffer.
* The size of the structure is made public to allow stack allocations.
*/
struct _GstRTCPPacket
-{
+{
GstRTCPBuffer *rtcp;
guint offset;
-
+
/*< private >*/
gboolean padding; /* padding field of current packet */
guint8 count; /* count field of current packet */
gboolean gst_rtcp_packet_move_to_next (GstRTCPPacket *packet);
gboolean gst_rtcp_buffer_add_packet (GstRTCPBuffer *rtcp, GstRTCPType type,
- GstRTCPPacket *packet);
+ GstRTCPPacket *packet);
gboolean gst_rtcp_packet_remove (GstRTCPPacket *packet);
/* working with packets */
guint16 gst_rtcp_packet_get_length (GstRTCPPacket *packet);
-/* sender reports */
-void gst_rtcp_packet_sr_get_sender_info (GstRTCPPacket *packet, guint32 *ssrc,
- guint64 *ntptime, guint32 *rtptime,
- guint32 *packet_count, guint32 *octet_count);
-void gst_rtcp_packet_sr_set_sender_info (GstRTCPPacket *packet, guint32 ssrc,
- guint64 ntptime, guint32 rtptime,
- guint32 packet_count, guint32 octet_count);
-/* receiver reports */
+/* sender reports */
+void gst_rtcp_packet_sr_get_sender_info (GstRTCPPacket *packet, guint32 *ssrc,
+ guint64 *ntptime, guint32 *rtptime,
+ guint32 *packet_count, guint32 *octet_count);
+void gst_rtcp_packet_sr_set_sender_info (GstRTCPPacket *packet, guint32 ssrc,
+ guint64 ntptime, guint32 rtptime,
+ guint32 packet_count, guint32 octet_count);
+/* receiver reports */
guint32 gst_rtcp_packet_rr_get_ssrc (GstRTCPPacket *packet);
void gst_rtcp_packet_rr_set_ssrc (GstRTCPPacket *packet, guint32 ssrc);
/* report blocks for SR and RR */
guint gst_rtcp_packet_get_rb_count (GstRTCPPacket *packet);
void gst_rtcp_packet_get_rb (GstRTCPPacket *packet, guint nth, guint32 *ssrc,
- guint8 *fractionlost, gint32 *packetslost,
- guint32 *exthighestseq, guint32 *jitter,
- guint32 *lsr, guint32 *dlsr);
+ guint8 *fractionlost, gint32 *packetslost,
+ guint32 *exthighestseq, guint32 *jitter,
+ guint32 *lsr, guint32 *dlsr);
gboolean gst_rtcp_packet_add_rb (GstRTCPPacket *packet, guint32 ssrc,
- guint8 fractionlost, gint32 packetslost,
- guint32 exthighestseq, guint32 jitter,
- guint32 lsr, guint32 dlsr);
+ guint8 fractionlost, gint32 packetslost,
+ guint32 exthighestseq, guint32 jitter,
+ guint32 lsr, guint32 dlsr);
void gst_rtcp_packet_set_rb (GstRTCPPacket *packet, guint nth, guint32 ssrc,
- guint8 fractionlost, gint32 packetslost,
- guint32 exthighestseq, guint32 jitter,
- guint32 lsr, guint32 dlsr);
+ guint8 fractionlost, gint32 packetslost,
+ guint32 exthighestseq, guint32 jitter,
+ guint32 lsr, guint32 dlsr);
/* source description packet */
guint gst_rtcp_packet_sdes_get_item_count (GstRTCPPacket *packet);
gboolean gst_rtcp_packet_sdes_first_item (GstRTCPPacket *packet);
gboolean gst_rtcp_packet_sdes_next_item (GstRTCPPacket *packet);
-guint32 gst_rtcp_packet_sdes_get_ssrc (GstRTCPPacket *packet);
+guint32 gst_rtcp_packet_sdes_get_ssrc (GstRTCPPacket *packet);
gboolean gst_rtcp_packet_sdes_first_entry (GstRTCPPacket *packet);
gboolean gst_rtcp_packet_sdes_next_entry (GstRTCPPacket *packet);
-gboolean gst_rtcp_packet_sdes_get_entry (GstRTCPPacket *packet,
+gboolean gst_rtcp_packet_sdes_get_entry (GstRTCPPacket *packet,
GstRTCPSDESType *type, guint8 *len,
- guint8 **data);
-gboolean gst_rtcp_packet_sdes_copy_entry (GstRTCPPacket *packet,
+ guint8 **data);
+gboolean gst_rtcp_packet_sdes_copy_entry (GstRTCPPacket *packet,
GstRTCPSDESType *type, guint8 *len,
- guint8 **data);
+ guint8 **data);
gboolean gst_rtcp_packet_sdes_add_item (GstRTCPPacket *packet, guint32 ssrc);
-gboolean gst_rtcp_packet_sdes_add_entry (GstRTCPPacket *packet, GstRTCPSDESType type,
+gboolean gst_rtcp_packet_sdes_add_entry (GstRTCPPacket *packet, GstRTCPSDESType type,
guint8 len, const guint8 *data);
/* bye packet */
/* check cached values */
if (G_LIKELY (priv->cached_mtu == mtu
&& priv->cached_ptime_multiple ==
- basepayload->abidata.ABI.ptime_multiple
- && priv->cached_ptime == basepayload->abidata.ABI.ptime
+ basepayload->ptime_multiple
+ && priv->cached_ptime == basepayload->ptime
&& priv->cached_max_ptime == basepayload->max_ptime
&& priv->cached_min_ptime == basepayload->min_ptime)) {
/* if nothing changed, return cached values */
}
ptime_mult_octets = priv->time_to_bytes (payload,
- basepayload->abidata.ABI.ptime_multiple);
+ basepayload->ptime_multiple);
*align = ALIGN_DOWN (MAX (priv->align, ptime_mult_octets), priv->align);
/* ptime max */
*min_payload_len = *max_payload_len;
/* If the ptime is specified in the caps, tried to adhere to it exactly */
- if (basepayload->abidata.ABI.ptime) {
+ if (basepayload->ptime) {
guint ptime_in_bytes = priv->time_to_bytes (payload,
- basepayload->abidata.ABI.ptime);
+ basepayload->ptime);
/* clip to computed min and max lengths */
ptime_in_bytes = MAX (*min_payload_len, ptime_in_bytes);
/* cache values */
priv->cached_mtu = mtu;
- priv->cached_ptime = basepayload->abidata.ABI.ptime;
+ priv->cached_ptime = basepayload->ptime;
priv->cached_min_ptime = basepayload->min_ptime;
priv->cached_max_ptime = basepayload->max_ptime;
- priv->cached_ptime_multiple = basepayload->abidata.ABI.ptime_multiple;
+ priv->cached_ptime_multiple = basepayload->ptime_multiple;
priv->cached_min_length = *min_payload_len;
priv->cached_max_length = *max_payload_len;
priv->cached_align = *align;
rtpbasepayload->max_ptime = DEFAULT_MAX_PTIME;
rtpbasepayload->min_ptime = DEFAULT_MIN_PTIME;
rtpbasepayload->priv->perfect_rtptime = DEFAULT_PERFECT_RTPTIME;
- rtpbasepayload->abidata.ABI.ptime_multiple = DEFAULT_PTIME_MULTIPLE;
+ rtpbasepayload->ptime_multiple = DEFAULT_PTIME_MULTIPLE;
rtpbasepayload->priv->base_offset = GST_BUFFER_OFFSET_NONE;
rtpbasepayload->priv->base_rtime = GST_BUFFER_OFFSET_NONE;
}
payload->priv->caps_max_ptime = DEFAULT_MAX_PTIME;
- payload->abidata.ABI.ptime = 0;
+ payload->ptime = 0;
/* the peer caps can override some of the defaults */
peercaps = gst_pad_peer_get_caps (payload->srcpad, srccaps);
payload->priv->caps_max_ptime = max_ptime * GST_MSECOND;
if (gst_structure_get_uint (s, "ptime", &ptime))
- payload->abidata.ABI.ptime = ptime * GST_MSECOND;
+ payload->ptime = ptime * GST_MSECOND;
if (gst_structure_get_int (s, "payload", &pt)) {
/* use peer pt */
priv->perfect_rtptime = g_value_get_boolean (value);
break;
case PROP_PTIME_MULTIPLE:
- rtpbasepayload->abidata.ABI.ptime_multiple = g_value_get_int64 (value);
+ rtpbasepayload->ptime_multiple = g_value_get_int64 (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
g_value_set_boolean (value, priv->perfect_rtptime);
break;
case PROP_PTIME_MULTIPLE:
- g_value_set_int64 (value, rtpbasepayload->abidata.ABI.ptime_multiple);
+ g_value_set_int64 (value, rtpbasepayload->ptime_multiple);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);