OSDN Git Service

rtp: Factorize the check for distinguishing RTCP packets from RTP
authorMartin Storsjö <martin@martin.st>
Thu, 16 Feb 2012 16:31:03 +0000 (17:31 +0100)
committerMartin Storsjö <martin@martin.st>
Thu, 16 Feb 2012 16:45:33 +0000 (17:45 +0100)
The binary doesn't change after this patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/movenchint.c
libavformat/rtp.h
libavformat/rtpdec.c
libavformat/rtpproto.c
libavformat/rtsp.c
libavformat/rtspenc.c

index f3eb0f2..579d040 100644 (file)
@@ -333,7 +333,7 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data,
         size -= 4;
         if (packet_len > size || packet_len <= 12)
             break;
-        if (data[1] >= RTCP_SR && data[1] <= RTCP_APP) {
+        if (RTP_PT_IS_RTCP(data[1])) {
             /* RTCP packet, just skip */
             data += packet_len;
             size -= packet_len;
index e619008..e9f8778 100644 (file)
@@ -91,4 +91,6 @@ enum RTCPType {
     RTCP_APP   // 204
 };
 
+#define RTP_PT_IS_RTCP(x) ((x) >= RTCP_SR && (x) <= RTCP_APP)
+
 #endif /* AVFORMAT_RTP_H */
index 668755b..a8c5c3f 100644 (file)
@@ -695,7 +695,7 @@ static int rtp_parse_one_packet(RTPDemuxContext *s, AVPacket *pkt,
 
     if ((buf[0] & 0xc0) != (RTP_VERSION << 6))
         return -1;
-    if (buf[1] >= RTCP_SR && buf[1] <= RTCP_APP) {
+    if (RTP_PT_IS_RTCP(buf[1])) {
         return rtcp_parse_packet(s, buf, len);
     }
 
index 03794ae..c93de4a 100644 (file)
@@ -266,7 +266,7 @@ static int rtp_write(URLContext *h, const uint8_t *buf, int size)
     int ret;
     URLContext *hd;
 
-    if (buf[1] >= RTCP_SR && buf[1] <= RTCP_APP) {
+    if (RTP_PT_IS_RTCP(buf[1])) {
         /* RTCP payload type */
         hd = s->rtcp_hd;
     } else {
index f8611de..359d910 100644 (file)
@@ -1927,7 +1927,7 @@ static int rtp_read_header(AVFormatContext *s)
             continue;
         }
 
-        if (recvbuf[1] >= RTCP_SR && recvbuf[1] <= RTCP_APP)
+        if (RTP_PT_IS_RTCP(recvbuf[1]))
             continue;
 
         payload_type = recvbuf[1] & 0x7f;
index 86621cf..6c14fe6 100644 (file)
@@ -159,7 +159,7 @@ static int tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st)
         size -= 4;
         if (packet_len > size || packet_len < 2)
             break;
-        if (ptr[1] >= RTCP_SR && ptr[1] <= RTCP_APP)
+        if (RTP_PT_IS_RTCP(ptr[1]))
             id = rtsp_st->interleaved_max; /* RTCP */
         else
             id = rtsp_st->interleaved_min; /* RTP */