Implement marker bit, which is used for several RTP payloads currently
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 26 Feb 2009 14:24:50 +0000 (14:24 +0000)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 26 Feb 2009 14:24:50 +0000 (14:24 +0000)
under review. See "[FFmpeg-devel] RTP mark bit not passed to parse_packet"
thread on mailinglist.

Originally committed as revision 17616 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/rtpdec.c
libavformat/rtpdec.h

index 5b7d63d..3e833a1 100644 (file)
@@ -437,6 +437,8 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
         return -1;
     }
     payload_type = buf[1] & 0x7f;
+    if (buf[1] & 0x80)
+        flags |= RTP_FLAG_MARKER;
     seq  = AV_RB16(buf + 2);
     timestamp = AV_RB32(buf + 4);
     ssrc = AV_RB32(buf + 8);
index f4bc6fb..c5350e7 100644 (file)
@@ -93,6 +93,7 @@ typedef struct {
 } RTPStatistics;
 
 #define RTP_FLAG_KEY    0x1 ///< RTP packet contains a keyframe
+#define RTP_FLAG_MARKER 0x2 ///< RTP marker bit was set for this packet
 /**
  * Packet parsing for "private" payloads in the RTP specs.
  *