# DrmInitData.SchemeData

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/DrmInitData.java+class:androidx.media3.common.DrmInitData.SchemeData)

*** ** * ** ***


```
public final class DrmInitData.SchemeData implements Parcelable
```

<br />

*** ** * ** ***

Scheme initialization data.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/android/os/Parcelable.Creator.html<https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData>` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#CREATOR()` |

| ### Public fields |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/Nullable byte[]` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()` The initialization data. |
| `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/DrmInitData.SchemeData#licenseServerUrl()` The URL of the server to which license requests should be made. |
| `final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#mimeType()` The mimeType of `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()`. |
| `final https://developer.android.com/reference/java/util/UUID.html` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#uuid()` The `https://developer.android.com/reference/java/util/UUID.html` of the DRM scheme, or `https://developer.android.com/reference/androidx/media3/common/C#UUID_NIL()` if the data is universal (i.e. applies to all schemes). |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#SchemeData(java.util.UUID,java.lang.String,byte[])(https://developer.android.com/reference/java/util/UUID.html uuid, https://developer.android.com/reference/java/lang/String.html mimeType, @https://developer.android.com/reference/androidx/annotation/Nullable byte[] data)` |
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#SchemeData(java.util.UUID,java.lang.String,java.lang.String,byte[])( https://developer.android.com/reference/java/util/UUID.html uuid, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html licenseServerUrl, https://developer.android.com/reference/java/lang/String.html mimeType, @https://developer.android.com/reference/androidx/annotation/Nullable byte[] data )` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#canReplace(androidx.media3.common.DrmInitData.SchemeData)(https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData other)` Returns whether this `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` can be used to replace `other`. |
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#copyWithData(byte[])(@https://developer.android.com/reference/androidx/annotation/Nullable byte[] data)` Returns a copy of this instance with the specified data. |
| `int` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#describeContents()()` |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#equals(java.lang.Object)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/Object.html obj)` |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#hasData()()` Returns whether `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()` is non-null. |
| `int` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#hashCode()()` |
| `boolean` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#matches(java.util.UUID)(https://developer.android.com/reference/java/util/UUID.html schemeUuid)` Returns whether this initialization data applies to the specified scheme. |
| `void` | `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#writeToParcel(android.os.Parcel,int)(https://developer.android.com/reference/android/os/Parcel.html dest, int flags)` |

| ### Inherited Constants |
|---|
| From [android.os.Parcelable](https://developer.android.com/reference/android/os/Parcelable.html) |---|---| | `static final int` | `https://developer.android.com/reference/android/os/Parcelable.html#CONTENTS_FILE_DESCRIPTOR = 1` | | `static final int` | `https://developer.android.com/reference/android/os/Parcelable.html#PARCELABLE_WRITE_RETURN_VALUE = 1` | |

## Constants

### CREATOR

```
public static final Parcelable.Creator<DrmInitData.SchemeData> CREATOR
```

## Public fields

### data

```
public final @Nullable byte[] data
```

The initialization data. May be null for scheme support checks only.

### licenseServerUrl

```
public final @Nullable String licenseServerUrl
```

The URL of the server to which license requests should be made. May be null if unknown.

### mimeType

```
public final String mimeType
```

The mimeType of `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()`.

### uuid

```
public final UUID uuid
```

The `https://developer.android.com/reference/java/util/UUID.html` of the DRM scheme, or `https://developer.android.com/reference/androidx/media3/common/C#UUID_NIL()` if the data is universal (i.e. applies to all schemes).

## Public constructors

### SchemeData

```
public SchemeData(UUID uuid, String mimeType, @Nullable byte[] data)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/UUID.html uuid` | The `https://developer.android.com/reference/java/util/UUID.html` of the DRM scheme, or `https://developer.android.com/reference/androidx/media3/common/C#UUID_NIL()` if the data is universal (i.e. applies to all schemes). |
| `https://developer.android.com/reference/java/lang/String.html mimeType` | See `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#mimeType()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable byte[] data` | See `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()`. |

### SchemeData

```
public SchemeData(
    UUID uuid,
    @Nullable String licenseServerUrl,
    String mimeType,
    @Nullable byte[] data
)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/UUID.html uuid` | The `https://developer.android.com/reference/java/util/UUID.html` of the DRM scheme, or `https://developer.android.com/reference/androidx/media3/common/C#UUID_NIL()` if the data is universal (i.e. applies to all schemes). |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html licenseServerUrl` | See `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#licenseServerUrl()`. |
| `https://developer.android.com/reference/java/lang/String.html mimeType` | See `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#mimeType()`. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable byte[] data` | See `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()`. |

## Public methods

### canReplace

```
public boolean canReplace(DrmInitData.SchemeData other)
```

Returns whether this `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` can be used to replace `other`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData other` | A `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData`. |

| Returns |
|---|---|
| `boolean` | Whether this `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` can be used to replace `other`. |

### copyWithData

```
public DrmInitData.SchemeData copyWithData(@Nullable byte[] data)
```

Returns a copy of this instance with the specified data.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Nullable byte[] data` | The data to include in the copy. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData` | The new instance. |

### describeContents

```
public int describeContents()
```

### equals

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

### hasData

```
public boolean hasData()
```

Returns whether `https://developer.android.com/reference/androidx/media3/common/DrmInitData.SchemeData#data()` is non-null.

### hashCode

```
public int hashCode()
```

### matches

```
public boolean matches(UUID schemeUuid)
```

Returns whether this initialization data applies to the specified scheme.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/UUID.html schemeUuid` | The scheme `https://developer.android.com/reference/java/util/UUID.html`. |

| Returns |
|---|---|
| `boolean` | Whether this initialization data applies to the specified scheme. |

### writeToParcel

```
public void writeToParcel(Parcel dest, int flags)
```