# RtpPayloadFormat

Artifact: [androidx.media3:media3-exoplayer-rtsp](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/rtsp/RtpPayloadFormat.java+class:androidx.media3.exoplayer.rtsp.RtpPayloadFormat)

*** ** * ** ***


```
@UnstableApi
public final class RtpPayloadFormat
```

<br />

*** ** * ** ***

Represents the payload format used in RTP.

In RTSP playback, the format information is always present in the `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/SessionDescription` enclosed in the response of a DESCRIBE request. Within each track's `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/MediaDescription`, it is the attributes FMTP and RTPMAP that allows us to recreate the media format.

This class wraps around the `https://developer.android.com/reference/androidx/media3/common/Format` class, in addition to the instance fields that are specific to RTP.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_AC3() = "AC3"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_AMR() = "AMR"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_AMR_WB() = "AMR-WB"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_H263_1998() = "H263-1998"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_H263_2000() = "H263-2000"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_H264() = "H264"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_H265() = "H265"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_MPEG4_GENERIC() = "MPEG4-GENERIC"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_MPEG4_LATM_AUDIO() = "MP4A-LATM"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_MPEG4_VIDEO() = "MP4V-ES"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_OPUS() = "OPUS"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_PCMA() = "PCMA"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_PCMU() = "PCMU"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_PCM_L16() = "L16"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_PCM_L8() = "L8"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_VP8() = "VP8"` |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RTP_MEDIA_VP9() = "VP9"` |

| ### Public fields |
|---|---|
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#clockRate()` The clock rate in Hertz, associated with the format. |
| `final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableMap.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#fmtpParameters()` The format parameters, mapped from the SDP FMTP attribute (RFC2327 Page 22). |
| `final https://developer.android.com/reference/androidx/media3/common/Format` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#format()` The `https://developer.android.com/reference/androidx/media3/common/Format` of this RTP payload. |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#mediaEncoding()` The RTP media encoding. |
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#rtpPayloadType()` The payload type associated with this format. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#RtpPayloadFormat(androidx.media3.common.Format,int,int,java.util.Map<java.lang.String,java.lang.String>,java.lang.String)( https://developer.android.com/reference/androidx/media3/common/Format format, int rtpPayloadType, int clockRate, https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html> fmtpParameters, https://developer.android.com/reference/java/lang/String.html mediaEncoding )` Creates a new instance. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html o)` |
| `static https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#getMimeTypeFromRtpMediaType(java.lang.String)(https://developer.android.com/reference/java/lang/String.html mediaType)` Gets the MIME type that is associated with the RTP media type. |
| `static int` | `@https://developer.android.com/reference/androidx/media3/common/C.PcmEncoding https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#getRawPcmEncodingType(java.lang.String)(https://developer.android.com/reference/java/lang/String.html mediaEncoding)` Returns the PCM encoding type for `mediaEncoding`. |
| `int` | `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/RtpPayloadFormat#hashCode()()` |

## Constants

### RTP_MEDIA_AC3

```
public static final String RTP_MEDIA_AC3 = "AC3"
```

### RTP_MEDIA_AMR

```
public static final String RTP_MEDIA_AMR = "AMR"
```

### RTP_MEDIA_AMR_WB

```
public static final String RTP_MEDIA_AMR_WB = "AMR-WB"
```

### RTP_MEDIA_H263_1998

```
public static final String RTP_MEDIA_H263_1998 = "H263-1998"
```

### RTP_MEDIA_H263_2000

```
public static final String RTP_MEDIA_H263_2000 = "H263-2000"
```

### RTP_MEDIA_H264

```
public static final String RTP_MEDIA_H264 = "H264"
```

### RTP_MEDIA_H265

```
public static final String RTP_MEDIA_H265 = "H265"
```

### RTP_MEDIA_MPEG4_GENERIC

```
public static final String RTP_MEDIA_MPEG4_GENERIC = "MPEG4-GENERIC"
```

### RTP_MEDIA_MPEG4_LATM_AUDIO

```
public static final String RTP_MEDIA_MPEG4_LATM_AUDIO = "MP4A-LATM"
```

### RTP_MEDIA_MPEG4_VIDEO

```
public static final String RTP_MEDIA_MPEG4_VIDEO = "MP4V-ES"
```

### RTP_MEDIA_OPUS

```
public static final String RTP_MEDIA_OPUS = "OPUS"
```

### RTP_MEDIA_PCMA

```
public static final String RTP_MEDIA_PCMA = "PCMA"
```

### RTP_MEDIA_PCMU

```
public static final String RTP_MEDIA_PCMU = "PCMU"
```

### RTP_MEDIA_PCM_L16

```
public static final String RTP_MEDIA_PCM_L16 = "L16"
```

### RTP_MEDIA_PCM_L8

```
public static final String RTP_MEDIA_PCM_L8 = "L8"
```

### RTP_MEDIA_VP8

```
public static final String RTP_MEDIA_VP8 = "VP8"
```

### RTP_MEDIA_VP9

```
public static final String RTP_MEDIA_VP9 = "VP9"
```

## Public fields

### clockRate

```
public final int clockRate
```

The clock rate in Hertz, associated with the format.

### fmtpParameters

```
public final ImmutableMap<String, String> fmtpParameters
```

The format parameters, mapped from the SDP FMTP attribute (RFC2327 Page 22).

### format

```
public final Format format
```

The `https://developer.android.com/reference/androidx/media3/common/Format` of this RTP payload.

### mediaEncoding

```
public final String mediaEncoding
```

The RTP media encoding.

### rtpPayloadType

```
public final int rtpPayloadType
```

The payload type associated with this format.

## Public constructors

### RtpPayloadFormat

```
public RtpPayloadFormat(
    Format format,
    int rtpPayloadType,
    int clockRate,
    Map<String, String> fmtpParameters,
    String mediaEncoding
)
```

Creates a new instance.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/Format format` | The associated `https://developer.android.com/reference/androidx/media3/common/Format`. |
| `int rtpPayloadType` | The assigned RTP payload type, from the RTPMAP attribute in `https://developer.android.com/reference/androidx/media3/exoplayer/rtsp/MediaDescription`. |
| `int clockRate` | The associated clock rate in hertz. |
| `https://developer.android.com/reference/java/util/Map.html<https://developer.android.com/reference/java/lang/String.html, https://developer.android.com/reference/java/lang/String.html> fmtpParameters` | The format parameters, from the SDP FMTP attribute (RFC2327 Page 22), empty if unset. The keys and values are specified in the RFCs for specific formats. For instance, RFC3640 Section 4.1 defines keys like profile-level-id and config. |
| `https://developer.android.com/reference/java/lang/String.html mediaEncoding` | The RTP media encoding. |

## Public methods

### equals

```
public boolean equals(@Nullable Object o)
```

### getMimeTypeFromRtpMediaType

```
public static String getMimeTypeFromRtpMediaType(String mediaType)
```

Gets the MIME type that is associated with the RTP media type.

For instance, RTP media type "H264" maps to `https://developer.android.com/reference/androidx/media3/common/MimeTypes#VIDEO_H264()`.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | When the media type is not supported/recognized. |

### getRawPcmEncodingType

```
@C.PcmEncoding
public static int getRawPcmEncodingType(String mediaEncoding)
```

Returns the PCM encoding type for `mediaEncoding`.

Value is one of the following:

- `Format.NO_VALUE`

<br />

### hashCode

```
public int hashCode()
```