Package org.ow2.clif.probe.rtp
Class RTCPPacket
- java.lang.Object
-
- org.ow2.clif.probe.rtp.RTCPPacket
-
- Direct Known Subclasses:
AppPacket,ByePacket,ReportPacket,SDESPacket
public abstract class RTCPPacket extends java.lang.ObjectCreate a RTCP packet. Packet type available for CLIF : 200, 201, 202, 203, 204.- Author:
- Rémi Druilhe
-
-
Constructor Summary
Constructors Constructor Description RTCPPacket()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract byte[]createPacket()Create a RTCP packet.byte[]createRtcpPacket(java.util.LinkedList<byte[]> reports)Create a RTCP packet with each reports created previously.static java.lang.IntegerdecodeCount(byte[] data, java.lang.Integer offset)Returns the count header (RC, SC or Subtype).static java.lang.IntegerdecodeLength(byte[] data, java.lang.Integer offset)Returns the length header.static java.lang.IntegerdecodePacketType(byte[] data, java.lang.Integer offset)Returns the packet type header.static java.lang.IntegerdecodePadding(byte[] data, java.lang.Integer offset)Returns the padding.static java.lang.IntegerdecodeTwoComplement(java.lang.Integer value)Decode the value (RTP use two's complement)static java.lang.LongdecodeTwoComplement(java.lang.Long value)Decode the value (RTP use two's complement)static java.lang.IntegerdecodeVersion(byte[] data, java.lang.Integer offset)Returns the version.abstract java.lang.IntegergetPacketType()Returns the packet type of the RTCP packet.static java.util.LinkedList<RTCPInformation>getRtcpPackets(byte[] data, java.lang.Long time)Method to separate RTCP report.static booleanpacketTypeAvailable(java.lang.Integer packetType)Tells if the packet type is supported by CLIF.
-
-
-
Method Detail
-
createPacket
public abstract byte[] createPacket()
Create a RTCP packet.- Returns:
- the packet in bytes.
-
getPacketType
public abstract java.lang.Integer getPacketType()
Returns the packet type of the RTCP packet.- Returns:
- the packet type.
-
createRtcpPacket
public byte[] createRtcpPacket(java.util.LinkedList<byte[]> reports)
Create a RTCP packet with each reports created previously.- Parameters:
reports- : the report to add to the packet.- Returns:
- the RTCP packet with each reports.
-
getRtcpPackets
public static java.util.LinkedList<RTCPInformation> getRtcpPackets(byte[] data, java.lang.Long time)
Method to separate RTCP report.- Parameters:
data- : the data to decode.time- : the arrival time of the packet.- Returns:
- a list of RTCP reports.
-
decodeVersion
public static java.lang.Integer decodeVersion(byte[] data, java.lang.Integer offset)Returns the version.- Parameters:
data- : the raw RTCP packet.offset- : the offset to start to decode.- Returns:
- the version.
-
decodePadding
public static java.lang.Integer decodePadding(byte[] data, java.lang.Integer offset)Returns the padding.- Parameters:
data- : the raw RTCP packet.offset- : the offset to start to decode.- Returns:
- the padding.
-
decodeCount
public static java.lang.Integer decodeCount(byte[] data, java.lang.Integer offset)Returns the count header (RC, SC or Subtype).- Parameters:
data- : the raw RTCP packet.offset- : the offset to start to decode.- Returns:
- the count.
-
decodePacketType
public static java.lang.Integer decodePacketType(byte[] data, java.lang.Integer offset)Returns the packet type header.- Parameters:
data- : the raw RTCP packet.offset- : the offset to start to decode.- Returns:
- the packet type.
-
decodeLength
public static java.lang.Integer decodeLength(byte[] data, java.lang.Integer offset)Returns the length header.- Parameters:
data- : the raw RTCP packet.offset- : the offset to start to decode.- Returns:
- the length.
-
decodeTwoComplement
public static java.lang.Long decodeTwoComplement(java.lang.Long value)
Decode the value (RTP use two's complement)- Parameters:
value- : the value to convert (include between -128 and 127)- Returns:
- a value include between 0 and 256
-
decodeTwoComplement
public static java.lang.Integer decodeTwoComplement(java.lang.Integer value)
Decode the value (RTP use two's complement)- Parameters:
value- : the value to convert (include between -128 and 127)- Returns:
- a value include between 0 and 256
-
packetTypeAvailable
public static boolean packetTypeAvailable(java.lang.Integer packetType)
Tells if the packet type is supported by CLIF.- Parameters:
packetType- : the packet type to test.- Returns:
- true if packet type is supported by CLIF.
-
-