From 8ae15b565533944d042d3caf25f7262e002e8953 Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Tue, 22 Mar 2022 14:25:11 -0400 Subject: [PATCH] rtpenc_vp8: Use 15-bit PictureIDs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 7-bit PictureIDs are not supported by WebRTC: https://groups.google.com/g/discuss-webrtc/c/333-L02vuWA In practice, 15-bit PictureIDs offer better compatibility. Signed-off-by: Kevin Wang Signed-off-by: Martin Storsjö --- libavformat/rtpenc_vp8.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/rtpenc_vp8.c b/libavformat/rtpenc_vp8.c index 671d245758..655d44517e 100644 --- a/libavformat/rtpenc_vp8.c +++ b/libavformat/rtpenc_vp8.c @@ -35,7 +35,8 @@ void ff_rtp_send_vp8(AVFormatContext *s1, const uint8_t *buf, int size) // partition id 0 *s->buf_ptr++ = 0x90; *s->buf_ptr++ = 0x80; // Picture id present - *s->buf_ptr++ = s->frame_count++ & 0x7f; + *s->buf_ptr++ = ((s->frame_count & 0x7f00) >> 8) | 0x80; + *s->buf_ptr++ = s->frame_count++ & 0xff; // Calculate the number of remaining bytes header_size = s->buf_ptr - s->buf; max_packet_size = s->max_payload_size - header_size;