# DrmSessionManager.DrmSessionReference

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

*** ** * ** ***


```
public interface DrmSessionManager.DrmSessionReference
```

<br />

*** ** * ** ***

Represents a single reference count of a `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSession`, while deliberately not giving access to the underlying session.

## Summary

| ### Constants |
|---|---|
| `default static final https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManager.DrmSessionReference` | `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManager.DrmSessionReference#EMPTY()` A reference that is never populated with an underlying `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSession`. |

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSessionManager.DrmSessionReference#release()()` Releases the underlying session at most once. |

## Constants

### EMPTY

```
default static final DrmSessionManager.DrmSessionReference EMPTY
```

A reference that is never populated with an underlying `https://developer.android.com/reference/androidx/media3/exoplayer/drm/DrmSession`.

## Public methods

### release

```
abstract void release()
```

Releases the underlying session at most once.

Can be called from any thread. Calling this method more than once will only release the underlying session once.