rtp: Fix constant for maximum two-byte RTP header extension length
authorSebastian Dröge <sebastian@centricular.com>
Thu, 22 Feb 2024 11:29:19 +0000 (13:29 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 23 Feb 2024 02:18:28 +0000 (02:18 +0000)
The value is stored as an 8 bit integer, with 0 meaning that there is
not data for this extension. That means that the maximum length is 255
bytes and not 256 bytes.

On the other hand, the one-byte RTP header extensions are storing the
length as a 4 bit integer with an offset of 1 (i.e. 0 means 1 byte
extension length), so here 16 is the correct maximum length.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6180>

subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpbasepayload.c

index 648b34e15371a34abce35967f7a108a3fcc5511e..4939001db7b65f88a1847422bf2fb99d88708e93 100644 (file)
@@ -114,7 +114,7 @@ static guint gst_rtp_base_payload_signals[LAST_SIGNAL] = { 0 };
 #define DEFAULT_AUTO_HEADER_EXTENSION   TRUE
 
 #define RTP_HEADER_EXT_ONE_BYTE_MAX_SIZE 16
-#define RTP_HEADER_EXT_TWO_BYTE_MAX_SIZE 256
+#define RTP_HEADER_EXT_TWO_BYTE_MAX_SIZE 255
 #define RTP_HEADER_EXT_ONE_BYTE_MAX_ID 14
 #define RTP_HEADER_EXT_TWO_BYTE_MAX_ID 255