changeset 6404:37944ce385a0 libavformat

rtp: Replace hardcoded RTCP packet types with defines Patch by Josh Allmann, joshua dot allmann at gmail
author mstorsjo
date Wed, 25 Aug 2010 09:15:31 +0000
parents 515e6aad6a82
children 1f6088eaa469
files rtp.h rtpdec.c rtpenc.c rtpproto.c rtspenc.c
diffstat 5 files changed, 17 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/rtp.h	Tue Aug 24 15:08:53 2010 +0000
+++ b/rtp.h	Wed Aug 25 09:15:31 2010 +0000
@@ -82,4 +82,13 @@
  */
 #define RTP_XIPH_IDENT 0xfecdba
 
+/* RTCP packet types */
+enum RTCPType {
+    RTCP_SR     = 200,
+    RTCP_RR,   // 201
+    RTCP_SDES, // 202
+    RTCP_BYE,  // 203
+    RTCP_APP   // 204
+};
+
 #endif /* AVFORMAT_RTP_H */
--- a/rtpdec.c	Tue Aug 24 15:08:53 2010 +0000
+++ b/rtpdec.c	Wed Aug 25 09:15:31 2010 +0000
@@ -74,7 +74,7 @@
 
 static int rtcp_parse_packet(RTPDemuxContext *s, const unsigned char *buf, int len)
 {
-    if (buf[1] != 200)
+    if (buf[1] != RTCP_SR)
         return -1;
     s->last_rtcp_ntp_time = AV_RB64(buf + 8);
     if (s->first_rtcp_ntp_time == AV_NOPTS_VALUE)
@@ -209,7 +209,7 @@
 
     // Receiver Report
     put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */
-    put_byte(pb, 201);
+    put_byte(pb, RTCP_RR);
     put_be16(pb, 7); /* length in words - 1 */
     // our own SSRC: we use the server's SSRC + 1 to avoid conflicts
     put_be32(pb, s->ssrc + 1);
@@ -248,7 +248,7 @@
 
     // CNAME
     put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */
-    put_byte(pb, 202);
+    put_byte(pb, RTCP_SDES);
     len = strlen(s->hostname);
     put_be16(pb, (6 + len + 3) / 4); /* length in words - 1 */
     put_be32(pb, s->ssrc);
@@ -299,7 +299,7 @@
         return;
 
     put_byte(pb, (RTP_VERSION << 6));
-    put_byte(pb, 201); /* receiver report */
+    put_byte(pb, RTCP_RR); /* receiver report */
     put_be16(pb, 1); /* length in words - 1 */
     put_be32(pb, 0); /* our own SSRC */
 
@@ -434,7 +434,7 @@
 
     if ((buf[0] & 0xc0) != (RTP_VERSION << 6))
         return -1;
-    if (buf[1] >= 200 && buf[1] <= 204) {
+    if (buf[1] >= RTCP_SR && buf[1] <= RTCP_APP) {
         rtcp_parse_packet(s, buf, len);
         return -1;
     }
--- a/rtpenc.c	Tue Aug 24 15:08:53 2010 +0000
+++ b/rtpenc.c	Wed Aug 25 09:15:31 2010 +0000
@@ -191,7 +191,7 @@
     rtp_ts = av_rescale_q(ntp_time - s->first_rtcp_ntp_time, (AVRational){1, 1000000},
                           s1->streams[0]->time_base) + s->base_timestamp;
     put_byte(s1->pb, (RTP_VERSION << 6));
-    put_byte(s1->pb, 200);
+    put_byte(s1->pb, RTCP_SR);
     put_be16(s1->pb, 6); /* length in words - 1 */
     put_be32(s1->pb, s->ssrc);
     put_be32(s1->pb, ntp_time / 1000000);
--- a/rtpproto.c	Tue Aug 24 15:08:53 2010 +0000
+++ b/rtpproto.c	Wed Aug 25 09:15:31 2010 +0000
@@ -285,7 +285,7 @@
     int ret;
     URLContext *hd;
 
-    if (buf[1] >= 200 && buf[1] <= 204) {
+    if (buf[1] >= RTCP_SR && buf[1] <= RTCP_APP) {
         /* RTCP payload type */
         hd = s->rtcp_hd;
     } else {
--- a/rtspenc.c	Tue Aug 24 15:08:53 2010 +0000
+++ b/rtspenc.c	Wed Aug 25 09:15:31 2010 +0000
@@ -85,7 +85,7 @@
         size -= 4;
         if (packet_len > size || packet_len < 2)
             break;
-        if (ptr[1] >= 200 && ptr[1] <= 204)
+        if (ptr[1] >= RTCP_SR && ptr[1] <= RTCP_APP)
             id = rtsp_st->interleaved_max; /* RTCP */
         else
             id = rtsp_st->interleaved_min; /* RTP */