# MediaLibraryInfo

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

*** ** * ** ***


```
@UnstableApi
public final class MediaLibraryInfo
```

<br />

*** ** * ** ***

Information about the media libraries.

## Summary

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#INTERFACE_VERSION() = 10` The version of the interfaces and behaviors offered to other processes. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#TAG() = "AndroidXMedia3"` A tag to use when logging library information. |
| `static final boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#TRACE_ENABLED() = true` Whether the library was compiled with `https://developer.android.com/reference/androidx/media3/common/util/TraceUtil` trace enabled. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#VERSION() = "1.12.0-alpha02"` The version of the library expressed as a string, for example "1.2.3" or "1.2.0-beta01". |
| `static final int` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#VERSION_INT() = 1012000002` The version of the library expressed as an integer, for example 1002003300. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#VERSION_SLASHY() = "AndroidXMedia3/1.12.0-alpha02"` The version of the library expressed as `TAG + "/" + VERSION`. |

| ### Public methods |
|---|---|
| `static boolean` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#enableWorkarounds()()` Returns whether device-specific workarounds are enabled. |
| `synchronized static void` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#registerModule(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` Registers a module to be returned in the `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#registeredModules()` string. |
| `synchronized static https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#registeredModules()()` Returns a string consisting of registered module names separated by ", ". |
| `static void` | `@https://developer.android.com/reference/androidx/annotation/VisibleForTesting https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#setEnableWorkarounds(boolean)(boolean enable)` Sets whether device-specific workarounds are enabled. |

## Constants

### INTERFACE_VERSION

```
public static final int INTERFACE_VERSION = 10
```

The version of the interfaces and behaviors offered to other processes.

This value is monotonically increasing. Its main purpose is to signal which version is running when two versions of the library need to communicate with another across process boundaries. If any cross-process interaction requires an incompatible change, this number should be increased to allow the other process to offer backwards-compatible behavior.

### TAG

```
public static final String TAG = "AndroidXMedia3"
```

A tag to use when logging library information.

### TRACE_ENABLED

```
public static final boolean TRACE_ENABLED = true
```

Whether the library was compiled with `https://developer.android.com/reference/androidx/media3/common/util/TraceUtil` trace enabled.

### VERSION

```
public static final String VERSION = "1.12.0-alpha02"
```

The version of the library expressed as a string, for example "1.2.3" or "1.2.0-beta01".

### VERSION_INT

```
public static final int VERSION_INT = 1012000002
```

The version of the library expressed as an integer, for example 1002003300.

Three digits are used for each of the first three components of `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#VERSION()`, then a single digit represents the cycle of this version: alpha (0), beta (1), rc (2) or stable (3). Finally two digits are used for the cycle number (always 00 for stable releases).

For example "1.2.0-rc05" has the corresponding integer version 1002000205 (001-002-000-2-05), and "123.45.6" has the corresponding integer version 123045006300 (123-045-006-3-00).

### VERSION_SLASHY

```
public static final String VERSION_SLASHY = "AndroidXMedia3/1.12.0-alpha02"
```

The version of the library expressed as `TAG + "/" + VERSION`.

## Public methods

### enableWorkarounds

```
public static boolean enableWorkarounds()
```

Returns whether device-specific workarounds are enabled.

### registerModule

```
synchronized public static void registerModule(String name)
```

Registers a module to be returned in the `https://developer.android.com/reference/androidx/media3/common/MediaLibraryInfo#registeredModules()` string.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html name` | The name of the module being registered. |

### registeredModules

```
synchronized public static String registeredModules()
```

Returns a string consisting of registered module names separated by ", ".

### setEnableWorkarounds

```
@VisibleForTesting
public static void setEnableWorkarounds(boolean enable)
```

Sets whether device-specific workarounds are enabled.

This should only be called for certification testing.