# HG changeset patch # User mstorsjo # Date 1282727731 0 # Node ID 37944ce385a079b3831bec6a4d79873e56197df1 # Parent 515e6aad6a82e8d7b43b47bd3e7aacc799f8a33a rtp: Replace hardcoded RTCP packet types with defines Patch by Josh Allmann, joshua dot allmann at gmail diff -r 515e6aad6a82 -r 37944ce385a0 rtp.h --- 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 */ diff -r 515e6aad6a82 -r 37944ce385a0 rtpdec.c --- 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; } diff -r 515e6aad6a82 -r 37944ce385a0 rtpenc.c --- 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); diff -r 515e6aad6a82 -r 37944ce385a0 rtpproto.c --- 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 { diff -r 515e6aad6a82 -r 37944ce385a0 rtspenc.c --- 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 */