# MediaItem.RequestMetadata

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

*** ** * ** ***


```
public final class MediaItem.RequestMetadata
```

<br />

*** ** * ** ***

Metadata that helps the player to understand a playback request represented by a `https://developer.android.com/reference/androidx/media3/common/MediaItem`.

This metadata is most useful for cases where playback requests are forwarded to other player instances (e.g. from a `androidx.media3.session.MediaController`) and the player creating the request doesn't know the required `https://developer.android.com/reference/androidx/media3/common/MediaItem.LocalConfiguration` for playback.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata.Builder` Builder for `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata` instances. |

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#EMPTY()` Empty request metadata. |

| ### Public fields |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#extras()` Optional extras `https://developer.android.com/reference/android/os/Bundle.html`. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/net/Uri.html` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#mediaUri()` The URI of the requested media, or null if not known or applicable. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#searchQuery()` The search query for the requested media, or null if not applicable. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata.Builder` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#buildUpon()()` Returns a `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata.Builder` initialized with the values of this instance. |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#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/androidx/media3/common/MediaItem.RequestMetadata` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#fromBundle(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html bundle)` Restores a `RequestMetadata` from a `https://developer.android.com/reference/android/os/Bundle.html`. |
| `int` | `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#hashCode()()` |
| `https://developer.android.com/reference/android/os/Bundle.html` | `@https://developer.android.com/reference/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#toBundle()()` |

## Constants

### EMPTY

```
public static final MediaItem.RequestMetadata EMPTY
```

Empty request metadata.

## Public fields

### extras

```
public final @Nullable Bundle extras
```

Optional extras `https://developer.android.com/reference/android/os/Bundle.html`.

Given the complexities of checking the equality of two `https://developer.android.com/reference/android/os/Bundle.html` instances, the contents of these extras are not considered in the `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#equals(java.lang.Object)` or `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata#hashCode()` implementation.

### mediaUri

```
public final @Nullable Uri mediaUri
```

The URI of the requested media, or null if not known or applicable.

### searchQuery

```
public final @Nullable String searchQuery
```

The search query for the requested media, or null if not applicable.

## Public methods

### buildUpon

```
public MediaItem.RequestMetadata.Builder buildUpon()
```

Returns a `https://developer.android.com/reference/androidx/media3/common/MediaItem.RequestMetadata.Builder` initialized with the values of this instance.

### equals

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

### fromBundle

```
@UnstableApi
public static MediaItem.RequestMetadata fromBundle(Bundle bundle)
```

Restores a `RequestMetadata` from a `https://developer.android.com/reference/android/os/Bundle.html`.

### hashCode

```
public int hashCode()
```

### toBundle

```
@UnstableApi
public Bundle toBundle()
```