From 7f3468d3923b1703e0e4f7f534e7c68728f4393e Mon Sep 17 00:00:00 2001 From: Josh Allmann Date: Wed, 25 Aug 2010 09:15:31 +0000 Subject: [PATCH] rtp: Replace hardcoded RTCP packet types with defines Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 24912 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtp.h | 9 +++++++++ libavformat/rtpdec.c | 10 +++++----- libavformat/rtpenc.c | 2 +- libavformat/rtpproto.c | 2 +- libavformat/rtspenc.c | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libavformat/rtp.h b/libavformat/rtp.h index 333ed33d8b..f550ad73d2 100644 --- a/libavformat/rtp.h +++ b/libavformat/rtp.h @@ -82,4 +82,13 @@ enum CodecID ff_rtp_codec_id(const char *buf, enum AVMediaType codec_type); */ #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 --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 63dda0cfab..83cc687fa9 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -74,7 +74,7 @@ void av_register_rtp_dynamic_payload_handlers(void) 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 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) // 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 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) // 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 @@ void rtp_send_punch_packets(URLContext* rtp_handle) 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 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, 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 --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index a6ba3e50b1..f5e1e3bbd3 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -191,7 +191,7 @@ static void rtcp_send_sr(AVFormatContext *s1, int64_t ntp_time) 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 --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c index 46511bab60..289a253f9e 100644 --- a/libavformat/rtpproto.c +++ b/libavformat/rtpproto.c @@ -285,7 +285,7 @@ static int rtp_write(URLContext *h, const uint8_t *buf, int size) 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 --git a/libavformat/rtspenc.c b/libavformat/rtspenc.c index a4c7fd9a10..9a9fa5a08b 100644 --- a/libavformat/rtspenc.c +++ b/libavformat/rtspenc.c @@ -85,7 +85,7 @@ static int tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st) 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 */