Class RtpPacket


  • @Deprecated
    public final class RtpPacket
    extends Object
    Deprecated.
    com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.
    Represents the header and the payload of an RTP packet.

    Not supported parsing at the moment: header extension and CSRC.

    Structure of an RTP header (RFC3550, Section 5.1).

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |V=2|P|X|  CC   |M|     PT      |       sequence number         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           timestamp                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           synchronization source (SSRC) identifier            |
     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
     |            contributing source (CSRC) identifiers             |
     |                             ....                              |
     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
     | Profile-specific extension ID |   Extension header length     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Extension header                        |
     |                             ....                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        3                   2                   1
      1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
     
    • Field Detail

      • MIN_SEQUENCE_NUMBER

        public static final int MIN_SEQUENCE_NUMBER
        Deprecated.
        See Also:
        Constant Field Values
      • MAX_SEQUENCE_NUMBER

        public static final int MAX_SEQUENCE_NUMBER
        Deprecated.
        See Also:
        Constant Field Values
      • version

        public final byte version
        Deprecated.
        The RTP version field (Word 0, bits 0-1), should always be 2.
        See Also:
        Constant Field Values
      • padding

        public final boolean padding
        Deprecated.
        The RTP padding bit (Word 0, bit 2).
      • extension

        public final boolean extension
        Deprecated.
        The RTP extension bit (Word 0, bit 3).
      • csrcCount

        public final byte csrcCount
        Deprecated.
        The RTP CSRC count field (Word 0, bits 4-7).
      • marker

        public final boolean marker
        Deprecated.
        The RTP marker bit (Word 0, bit 8).
      • payloadType

        public final byte payloadType
        Deprecated.
        The RTP CSRC count field (Word 0, bits 9-15).
      • sequenceNumber

        public final int sequenceNumber
        Deprecated.
        The RTP sequence number field (Word 0, bits 16-31).
      • timestamp

        public final long timestamp
        Deprecated.
        The RTP timestamp field (Word 1).
      • ssrc

        public final int ssrc
        Deprecated.
        The RTP SSRC field (Word 2).
      • csrc

        public final byte[] csrc
        Deprecated.
        The RTP CSRC fields (Optional, up to 15 items).
      • payloadData

        public final byte[] payloadData
        Deprecated.
    • Method Detail

      • getNextSequenceNumber

        public static int getNextSequenceNumber​(int sequenceNumber)
        Deprecated.
        Returns the next sequence number of the sequenceNumber.
      • getPreviousSequenceNumber

        public static int getPreviousSequenceNumber​(int sequenceNumber)
        Deprecated.
        Returns the previous sequence number from the sequenceNumber.
      • parse

        @Nullable
        public static RtpPacket parse​(byte[] buffer,
                                      int length)
        Deprecated.
        Creates an RtpPacket from a byte array.
        Parameters:
        buffer - The buffer that contains the RTP packet data.
        length - The length of the RTP packet.
        Returns:
        The built RtpPacket.
      • writeToBuffer

        public int writeToBuffer​(byte[] target,
                                 int offset,
                                 int length)
        Deprecated.
        Writes the data in an RTP packet to a target buffer.

        The size of the target buffer and the length argument should be big enough so that the entire RTP packet could fit. That is, if there is not enough space to store the entire RTP packet, no bytes will be written. The maximum size of an RTP packet is defined as MAX_SIZE.

        Parameters:
        target - A target byte buffer to which the packet data is copied.
        offset - The offset into the target array at which to write.
        length - The maximum number of bytes that can be written.
        Returns:
        The number of bytes written, or C.LENGTH_UNSET if there is not enough space to write the packet.
      • equals

        public boolean equals​(@Nullable
                              Object o)
        Deprecated.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Deprecated.
        Overrides:
        hashCode in class Object