From 7a1593f8d9ccc3d01c3354728fa8c786d9778175 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov <lyubomir.marinov@jitsi.org> Date: Tue, 24 Jul 2012 11:50:28 +0000 Subject: [PATCH] Fixes 'Invalid RTCP Version' exception caused by incorrect RTCP feedback packet construction. --- .../impl/neomedia/RTCPFeedbackPacket.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/org/jitsi/impl/neomedia/RTCPFeedbackPacket.java b/src/org/jitsi/impl/neomedia/RTCPFeedbackPacket.java index 9a97ed6f..ac30fbf4 100644 --- a/src/org/jitsi/impl/neomedia/RTCPFeedbackPacket.java +++ b/src/org/jitsi/impl/neomedia/RTCPFeedbackPacket.java @@ -59,26 +59,26 @@ public RTCPFeedbackPacket(int type, int payloadType, long sender, long src) public void writeTo(OutputDataStream out) { byte data[] = new byte[12]; - byte vpfmt = (byte)((2 << 7) | (0 << 6) | (byte)fmt); + byte vpfmt = (byte) (0x80 /* RTP version */ | (fmt & 0x1F)); data[0] = vpfmt; - data[1] = (byte)payloadType; + data[1] = (byte) payloadType; /* length (in 32-bit words minus one) */ data[2] = 0; data[3] = 2; /* common packet is 12 bytes so (12/4) - 1 */ /* sender SSRC */ - data[4] = (byte)(senderSSRC >> 24); - data[5] = (byte)((senderSSRC >> 16) & 0xFF); - data[6] = (byte)((senderSSRC >> 8) & 0xFF); - data[7] = (byte)(senderSSRC & 0xFF); + data[4] = (byte) (senderSSRC >> 24); + data[5] = (byte) ((senderSSRC >> 16) & 0xFF); + data[6] = (byte) ((senderSSRC >> 8) & 0xFF); + data[7] = (byte) (senderSSRC & 0xFF); /* source SSRC */ - data[8] = (byte)(sourceSSRC >> 24); - data[9] = (byte)((sourceSSRC >> 16) & 0xFF); - data[10] = (byte)((sourceSSRC >> 8) & 0xFF); - data[11] = (byte)(sourceSSRC & 0xFF); + data[8] = (byte) (sourceSSRC >> 24); + data[9] = (byte) ((sourceSSRC >> 16) & 0xFF); + data[10] = (byte) ((sourceSSRC >> 8) & 0xFF); + data[11] = (byte) (sourceSSRC & 0xFF); /* effective write */ out.write(data, 0, 12); -- GitLab