From 1bef375f3fe03ba684284822a85a72f3e76fc298 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Thu, 21 Dec 2023 11:13:56 -0500 Subject: [PATCH] allow payload length for RTP extension headers to be changed by user code; --- RtpExtensionHeader.cs | 11 +++++------ RtpFNEHeader.cs | 4 ++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/RtpExtensionHeader.cs b/RtpExtensionHeader.cs index 36c8c7b..4796ac0 100644 --- a/RtpExtensionHeader.cs +++ b/RtpExtensionHeader.cs @@ -30,7 +30,6 @@ namespace fnecore public class RtpExtensionHeader { protected int offset = 0; - protected ushort payloadLength; /// /// Format of the extension header payload contained within the packet. @@ -40,7 +39,7 @@ namespace fnecore /// /// Length of the extension header payload (in 32-bit units). /// - public ushort PayloadLength { get => payloadLength; } + public ushort PayloadLength { get; set; } /* ** Methods @@ -53,7 +52,7 @@ namespace fnecore { this.offset = offset; PayloadType = 0; - payloadLength = 0; + PayloadLength = 0; } /// @@ -66,7 +65,7 @@ namespace fnecore return false; PayloadType = (ushort)((data[0 + offset] << 8) | (data[1 + offset] << 0)); // Payload Type - payloadLength = (ushort)((data[2 + offset] << 8) | (data[3 + offset] << 0)); // Payload Length + PayloadLength = (ushort)((data[2 + offset] << 8) | (data[3 + offset] << 0)); // Payload Length return true; } @@ -82,8 +81,8 @@ namespace fnecore data[0 + offset] = (byte)((PayloadType >> 8) & 0xFFU); // Payload Type MSB data[1 + offset] = (byte)((PayloadType >> 0) & 0xFFU); // Payload Type LSB - data[2 + offset] = (byte)((payloadLength >> 8) & 0xFFU); // Payload Length MSB - data[3 + offset] = (byte)((payloadLength >> 0) & 0xFFU); // Payload Length LSB + data[2 + offset] = (byte)((PayloadLength >> 8) & 0xFFU); // Payload Length MSB + data[3 + offset] = (byte)((PayloadLength >> 0) & 0xFFU); // Payload Length LSB } } // public class RtpExtensionHeader } // namespace fnecore diff --git a/RtpFNEHeader.cs b/RtpFNEHeader.cs index cac670d..12b3ece 100644 --- a/RtpFNEHeader.cs +++ b/RtpFNEHeader.cs @@ -86,7 +86,7 @@ namespace fnecore if (!base.Decode(data)) return false; - if (payloadLength != Constants.RtpFNEHeaderExtLength) + if (PayloadLength != Constants.RtpFNEHeaderExtLength) return false; if (PayloadType != Constants.DVMFrameStart) return false; @@ -112,7 +112,7 @@ namespace fnecore return; PayloadType = Constants.DVMFrameStart; - payloadLength = Constants.RtpFNEHeaderExtLength; + PayloadLength = Constants.RtpFNEHeaderExtLength; base.Encode(ref data); data[4 + offset] = (byte)((CRC >> 8) & 0xFFU); // CRC-16 MSB