rtpi.packets
Class RtcpiApplicationPacket

java.lang.Object
  |
  +--rtpi.packets.RtcpiPacket
        |
        +--rtpi.packets.RtcpiApplicationPacket

public final class RtcpiApplicationPacket
extends RtcpiPacket

This class represents RTCP/I Application packets. Application packets allow an application to send custom RTCP/I packets. This should be used with caution, since it may impair the RTCP/I protocol performance.

Author:
Martin Mauve

Field Summary
static int APP
          The payload type for application packets.
 
Fields inherited from class rtpi.packets.RtcpiPacket
count, HEADER_SIZE, length, packetData, packetStart, participantID, payloadType, reserved, version, VERSION
 
Constructor Summary
RtcpiApplicationPacket(byte[] d, int s)
          This creates an RTCP/I application packet from a transport packet that has been received.
RtcpiApplicationPacket(int pid, byte[] n, byte[] d)
          This creates an RTCP/I application packet that is to be transmitted over the network.
 
Method Summary
 void flush()
          This method flushes the packet to a byte array.
 byte[] getData()
          Get the data that is contained in this RTCP/I application packet.
 byte[] getName()
          Get the 4 byte name identifying the type of this RTCP/I application packet.
 void parse()
          This method parses an RTCP/I application packet.
 java.lang.String toString()
          Convert this object to a string.
 
Methods inherited from class rtpi.packets.RtcpiPacket
flushHeader, getLength, getPacket, getParticipantID, getPayloadType, inspectLength, inspectPayloadType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

APP

public static final int APP
The payload type for application packets.
Constructor Detail

RtcpiApplicationPacket

public RtcpiApplicationPacket(int pid,
                              byte[] n,
                              byte[] d)
                       throws IllegalValueException
This creates an RTCP/I application packet that is to be transmitted over the network.
Parameters:
pid - The Id of the participant sending the packet.
n - The 4 byte name string identifying this application RTCP/I packet type.
d - The data contained in this packet.

RtcpiApplicationPacket

public RtcpiApplicationPacket(byte[] d,
                              int s)
This creates an RTCP/I application packet from a transport packet that has been received.
Parameters:
d - The transport packet.
s - The start of the RTCP/I packet in the transport packet (position of the first byte of the RTCP/I header.
Method Detail

flush

public void flush()
           throws RtpiFlushException
This method flushes the packet to a byte array.
Overrides:
flush in class RtcpiPacket

parse

public void parse()
           throws RtpiParseException
This method parses an RTCP/I application packet.
Overrides:
parse in class RtcpiPacket

getName

public byte[] getName()
Get the 4 byte name identifying the type of this RTCP/I application packet.
Returns:
The name.

getData

public byte[] getData()
Get the data that is contained in this RTCP/I application packet.
Returns:
The data.

toString

public java.lang.String toString()
Convert this object to a string.
Returns:
This object as a string.
Overrides:
toString in class RtcpiPacket