Browse Source

rtpenc_xiph: Set the ident value via a define

Originally committed as revision 24749 to svn://svn.ffmpeg.org/ffmpeg/trunk
Martin Storsjö 14 years ago
parent
commit
b5c4bb989d
3 changed files with 13 additions and 7 deletions
  1. 6 0
      libavformat/rtp.h
  2. 4 4
      libavformat/rtpenc_xiph.c
  3. 3 3
      libavformat/sdp.c

+ 6 - 0
libavformat/rtp.h

@@ -76,4 +76,10 @@ enum CodecID ff_rtp_codec_id(const char *buf, enum AVMediaType codec_type);
 #define RTCP_TX_RATIO_NUM 5
 #define RTCP_TX_RATIO_DEN 1000
 
+/* An arbitrary id value for RTP Xiph streams - only relevant to indicate
+ * the the configuration has changed within a stream (by changing the
+ * ident value sent).
+ */
+#define RTP_XIPH_IDENT 0xfecdba
+
 #endif /* AVFORMAT_RTP_H */

+ 4 - 4
libavformat/rtpenc_xiph.c

@@ -52,13 +52,13 @@ void ff_rtp_send_xiph(AVFormatContext *s1, const uint8_t *buff, int size)
         break;
     }
 
-    // Set ident. Must match the one in sdp.c
+    // Set ident.
     // Probably need a non-fixed way of generating
     // this, but it has to be done in SDP and passed in from there.
     q = s->buf;
-    *q++ = 0xfe;
-    *q++ = 0xcd;
-    *q++ = 0xba;
+    *q++ = (RTP_XIPH_IDENT >> 16) & 0xff;
+    *q++ = (RTP_XIPH_IDENT >>  8) & 0xff;
+    *q++ = (RTP_XIPH_IDENT      ) & 0xff;
 
     // set fragment
     // 0 - whole frame (possibly multiple frames)

+ 3 - 3
libavformat/sdp.c

@@ -267,9 +267,9 @@ static char *xiph_extradata2config(AVCodecContext *c)
 
     config[0] = config[1] = config[2] = 0;
     config[3] = 1;
-    config[4] = 0xfe; // ident must match the one in rtpenc_xiph.c
-    config[5] = 0xcd;
-    config[6] = 0xba;
+    config[4] = (RTP_XIPH_IDENT >> 16) & 0xff;
+    config[5] = (RTP_XIPH_IDENT >>  8) & 0xff;
+    config[6] = (RTP_XIPH_IDENT      ) & 0xff;
     config[7] = (headers_len >> 8) & 0xff;
     config[8] = headers_len & 0xff;
     config[9] = 2;