Package com.google.android.exoplayer2

## Class C

- java.lang.Object
- - com.google.android.exoplayer2.C

-     public final class C
      extends Object

  Defines constants used by the library.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `C.AudioAllowedCapturePolicy` | Capture policies for audio attributes.
    `static interface` | `C.AudioContentType` | Content types for audio attributes.
    `static interface` | `C.AudioFlags` | Flags for audio attributes.
    `static interface` | `C.AudioFocusGain` | Audio focus types.
    `static interface` | `C.AudioUsage` | Usage types for audio attributes.
    `static interface` | `C.BufferFlags` | Flags which can apply to a buffer containing a media sample.
    `static interface` | `C.ColorRange` | Video color range.
    `static interface` | `C.ColorSpace` | Video colorspaces.
    `static interface` | `C.ColorTransfer` | Video color transfer characteristics.
    `static interface` | `C.ContentType` | Represents a streaming or other media type.
    `static interface` | `C.CryptoMode` | Crypto modes for a codec.
    `static interface` | `C.Encoding` | Represents an audio encoding, or an invalid or unset value.
    `static interface` | `C.FormatSupport` | Level of renderer support for a format.
    `static interface` | `C.NetworkType` | Network connection type.
    `static interface` | `C.PcmEncoding` | Represents a PCM audio encoding, or an invalid or unset value.
    `static interface` | `C.Projection` | Video projection types.
    `static interface` | `C.RoleFlags` | Track role flags.
    `static interface` | `C.SelectionFlags` | Track selection flags.
    `static interface` | `C.StereoMode` | The stereo mode for 360/3D/VR videos.
    `static interface` | `C.StreamType` | Stream types for an `AudioTrack`.
    `static interface` | `C.VideoOutputMode` | Video decoder output modes.
    `static interface` | `C.VideoScalingMode` | Video scaling modes for `MediaCodec`-based renderers.
    `static interface` | `C.WakeMode` | Mode specifying whether the player should hold a WakeLock and a WifiLock.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `ALLOW_CAPTURE_BY_ALL` | See `AudioAttributes.ALLOW_CAPTURE_BY_ALL`.
    `static int` | `ALLOW_CAPTURE_BY_NONE` | See `AudioAttributes.ALLOW_CAPTURE_BY_NONE`.
    `static int` | `ALLOW_CAPTURE_BY_SYSTEM` | See `AudioAttributes.ALLOW_CAPTURE_BY_SYSTEM`.
    `static String` | `ASCII_NAME` | Deprecated. Use `StandardCharsets` or `Charsets` instead.
    `static int` | `AUDIO_SESSION_ID_UNSET` | Represents an unset `AudioTrack` session identifier.
    `static int` | `AUDIOFOCUS_GAIN` |
    `static int` | `AUDIOFOCUS_GAIN_TRANSIENT` |
    `static int` | `AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE` |
    `static int` | `AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK` |
    `static int` | `AUDIOFOCUS_NONE` |
    `static int` | `BITS_PER_BYTE` | The number of bits per byte.
    `static int` | `BUFFER_FLAG_DECODE_ONLY` | Indicates that a buffer should be decoded but not rendered.
    `static int` | `BUFFER_FLAG_ENCRYPTED` | Indicates that a buffer is (at least partially) encrypted.
    `static int` | `BUFFER_FLAG_END_OF_STREAM` | Flag for empty buffers that signal that the end of the stream was reached.
    `static int` | `BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA` | Indicates that a buffer has supplemental data.
    `static int` | `BUFFER_FLAG_KEY_FRAME` | Indicates that a buffer holds a synchronization sample.
    `static int` | `BUFFER_FLAG_LAST_SAMPLE` | Indicates that a buffer is known to contain the last media sample of the stream.
    `static int` | `BYTES_PER_FLOAT` | The number of bytes per float.
    `static String` | `CENC_TYPE_cbc1` | "cbc1" scheme type name as defined in ISO/IEC 23001-7:2016.
    `static String` | `CENC_TYPE_cbcs` | "cbcs" scheme type name as defined in ISO/IEC 23001-7:2016.
    `static String` | `CENC_TYPE_cenc` | "cenc" scheme type name as defined in ISO/IEC 23001-7:2016.
    `static String` | `CENC_TYPE_cens` | "cens" scheme type name as defined in ISO/IEC 23001-7:2016.
    `static UUID` | `CLEARKEY_UUID` | UUID for the ClearKey DRM scheme.
    `static int` | `COLOR_RANGE_FULL` |
    `static int` | `COLOR_RANGE_LIMITED` |
    `static int` | `COLOR_SPACE_BT2020` |
    `static int` | `COLOR_SPACE_BT601` |
    `static int` | `COLOR_SPACE_BT709` |
    `static int` | `COLOR_TRANSFER_HLG` |
    `static int` | `COLOR_TRANSFER_SDR` |
    `static int` | `COLOR_TRANSFER_ST2084` |
    `static UUID` | `COMMON_PSSH_UUID` | UUID for the W3C Common PSSH box.
    `static int` | `CONTENT_TYPE_MOVIE` |
    `static int` | `CONTENT_TYPE_MUSIC` |
    `static int` | `CONTENT_TYPE_SONIFICATION` |
    `static int` | `CONTENT_TYPE_SPEECH` |
    `static int` | `CONTENT_TYPE_UNKNOWN` |
    `static int` | `CRYPTO_MODE_AES_CBC` |
    `static int` | `CRYPTO_MODE_AES_CTR` |
    `static int` | `CRYPTO_MODE_UNENCRYPTED` |
    `static int` | `DATA_TYPE_AD` | A data type constant for ads loader data.
    `static int` | `DATA_TYPE_CUSTOM_BASE` | Applications or extensions may define custom `DATA_TYPE_*` constants greater than or equal to this value.
    `static int` | `DATA_TYPE_DRM` | A data type constant for drm or encryption data.
    `static int` | `DATA_TYPE_MANIFEST` | A data type constant for a manifest file.
    `static int` | `DATA_TYPE_MEDIA` | A data type constant for media, typically containing media samples.
    `static int` | `DATA_TYPE_MEDIA_INITIALIZATION` | A data type constant for media, typically containing only initialization data.
    `static int` | `DATA_TYPE_MEDIA_PROGRESSIVE_LIVE` | A data type constant for live progressive media streams, typically containing media samples.
    `static int` | `DATA_TYPE_TIME_SYNCHRONIZATION` | A data type constant for time synchronization data.
    `static int` | `DATA_TYPE_UNKNOWN` | A data type constant for data of unknown or unspecified type.
    `static int` | `DEFAULT_BUFFER_SEGMENT_SIZE` | A default size in bytes for an individual allocation that forms part of a larger buffer.
    `static int` | `ENCODING_AAC_ELD` |
    `static int` | `ENCODING_AAC_ER_BSAC` | AAC Error Resilient Bit-Sliced Arithmetic Coding.
    `static int` | `ENCODING_AAC_HE_V1` |
    `static int` | `ENCODING_AAC_HE_V2` |
    `static int` | `ENCODING_AAC_LC` |
    `static int` | `ENCODING_AAC_XHE` |
    `static int` | `ENCODING_AC3` |
    `static int` | `ENCODING_AC4` |
    `static int` | `ENCODING_DOLBY_TRUEHD` |
    `static int` | `ENCODING_DTS` |
    `static int` | `ENCODING_DTS_HD` |
    `static int` | `ENCODING_E_AC3` |
    `static int` | `ENCODING_E_AC3_JOC` |
    `static int` | `ENCODING_INVALID` |
    `static int` | `ENCODING_MP3` |
    `static int` | `ENCODING_PCM_16BIT` |
    `static int` | `ENCODING_PCM_16BIT_BIG_ENDIAN` | Like `ENCODING_PCM_16BIT`, but with the bytes in big endian order.
    `static int` | `ENCODING_PCM_24BIT` | PCM encoding with 24 bits per sample.
    `static int` | `ENCODING_PCM_32BIT` | PCM encoding with 32 bits per sample.
    `static int` | `ENCODING_PCM_8BIT` |
    `static int` | `ENCODING_PCM_FLOAT` |
    `static int` | `FLAG_AUDIBILITY_ENFORCED` |
    `static int` | `FORMAT_EXCEEDS_CAPABILITIES` | The `Renderer` is capable of rendering formats with the same MIME type, but the properties of the format exceed the renderer's capabilities.
    `static int` | `FORMAT_HANDLED` | The `Renderer` is capable of rendering the format.
    `static int` | `FORMAT_UNSUPPORTED_DRM` | The `Renderer` is capable of rendering formats with the same MIME type, but is not capable of rendering the format because the format's drm protection is not supported.
    `static int` | `FORMAT_UNSUPPORTED_SUBTYPE` | The `Renderer` is a general purpose renderer for formats of the same top-level type, but is not capable of rendering the format or any other format with the same MIME type because the sub-type is not supported.
    `static int` | `FORMAT_UNSUPPORTED_TYPE` | The `Renderer` is not capable of rendering the format, either because it does not support the format's top-level type, or because it's a specialized renderer for a different MIME type.
    `static int` | `INDEX_UNSET` | Represents an unset or unknown index.
    `static String` | `ISO88591_NAME` | Deprecated. Use `StandardCharsets` or `Charsets` instead.
    `static String` | `LANGUAGE_UNDETERMINED` | Represents an undetermined language as an ISO 639-2 language code.
    `static int` | `LENGTH_UNSET` | Represents an unset or unknown length.
    `static long` | `MICROS_PER_SECOND` | The number of microseconds in one second.
    `static long` | `MILLIS_PER_SECOND` | The number of milliseconds in one second.
    `static int` | `MSG_CUSTOM_BASE` | Deprecated. Use `Renderer.MSG_CUSTOM_BASE`.
    `static int` | `MSG_SET_AUDIO_ATTRIBUTES` | Deprecated. Use `Renderer.MSG_SET_AUDIO_ATTRIBUTES`.
    `static int` | `MSG_SET_AUX_EFFECT_INFO` | Deprecated. Use `Renderer.MSG_SET_AUX_EFFECT_INFO`.
    `static int` | `MSG_SET_CAMERA_MOTION_LISTENER` | Deprecated. Use `Renderer.MSG_SET_CAMERA_MOTION_LISTENER`.
    `static int` | `MSG_SET_SCALING_MODE` | Deprecated. Use `Renderer.MSG_SET_SCALING_MODE`.
    `static int` | `MSG_SET_SURFACE` | Deprecated. Use `Renderer.MSG_SET_VIDEO_OUTPUT`.
    `static int` | `MSG_SET_VIDEO_FRAME_METADATA_LISTENER` | Deprecated. Use `Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER`.
    `static int` | `MSG_SET_VOLUME` | Deprecated. Use `Renderer.MSG_SET_VOLUME`.
    `static long` | `NANOS_PER_SECOND` | The number of nanoseconds in one second.
    `static int` | `NETWORK_TYPE_2G` | Network type for a 2G cellular connection.
    `static int` | `NETWORK_TYPE_3G` | Network type for a 3G cellular connection.
    `static int` | `NETWORK_TYPE_4G` | Network type for a 4G cellular connection.
    `static int` | `NETWORK_TYPE_5G_NSA` | Network type for a 5G non-stand-alone (NSA) cellular connection.
    `static int` | `NETWORK_TYPE_5G_SA` | Network type for a 5G stand-alone (SA) cellular connection.
    `static int` | `NETWORK_TYPE_CELLULAR_UNKNOWN` | Network type for cellular connections which cannot be mapped to one of `NETWORK_TYPE_2G`, `NETWORK_TYPE_3G`, or `NETWORK_TYPE_4G`.
    `static int` | `NETWORK_TYPE_ETHERNET` | Network type for an Ethernet connection.
    `static int` | `NETWORK_TYPE_OFFLINE` | No network connection.
    `static int` | `NETWORK_TYPE_OTHER` | Network type for other connections which are not Wifi or cellular (e.g.
    `static int` | `NETWORK_TYPE_UNKNOWN` | Unknown network type.
    `static int` | `NETWORK_TYPE_WIFI` | Network type for a Wifi connection.
    `static int` | `PERCENTAGE_UNSET` | Represents an unset or unknown percentage.
    `static UUID` | `PLAYREADY_UUID` | UUID for the PlayReady DRM scheme.
    `static int` | `POSITION_UNSET` | Represents an unset or unknown position.
    `static int` | `PRIORITY_DOWNLOAD` | Priority for media downloading.
    `static int` | `PRIORITY_PLAYBACK` | Priority for media playback.
    `static int` | `PROJECTION_CUBEMAP` | Cube map projection.
    `static int` | `PROJECTION_EQUIRECTANGULAR` | Equirectangular spherical projection.
    `static int` | `PROJECTION_MESH` | 3-D mesh projection.
    `static int` | `PROJECTION_RECTANGULAR` | Conventional rectangular projection.
    `static float` | `RATE_UNSET` | Represents an unset or unknown rate.
    `static int` | `RESULT_BUFFER_READ` | A return value for methods where a buffer was read.
    `static int` | `RESULT_END_OF_INPUT` | A return value for methods where the end of an input was encountered.
    `static int` | `RESULT_FORMAT_READ` | A return value for methods where a format was read.
    `static int` | `RESULT_MAX_LENGTH_EXCEEDED` | A return value for methods where the length of parsed data exceeds the maximum length allowed.
    `static int` | `RESULT_NOTHING_READ` | A return value for methods where nothing was read.
    `static int` | `ROLE_FLAG_ALTERNATE` | Indicates an alternate track.
    `static int` | `ROLE_FLAG_CAPTION` | Indicates the track contains captions.
    `static int` | `ROLE_FLAG_COMMENTARY` | Indicates the track contains commentary, for example from the director.
    `static int` | `ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND` | Indicates the track contains a textual description of music and sound.
    `static int` | `ROLE_FLAG_DESCRIBES_VIDEO` | Indicates the track contains an audio or textual description of a video track.
    `static int` | `ROLE_FLAG_DUB` | Indicates the track is in a different language from the original, for example dubbed audio or translated captions.
    `static int` | `ROLE_FLAG_EASY_TO_READ` | Indicates the track contains a text that has been edited for ease of reading.
    `static int` | `ROLE_FLAG_EMERGENCY` | Indicates the track contains information about a current emergency.
    `static int` | `ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY` | Indicates the track is designed for improved intelligibility of dialogue.
    `static int` | `ROLE_FLAG_MAIN` | Indicates a main track.
    `static int` | `ROLE_FLAG_SIGN` | Indicates the track contains a visual sign-language interpretation of an audio track.
    `static int` | `ROLE_FLAG_SUBTITLE` | Indicates the track contains subtitles.
    `static int` | `ROLE_FLAG_SUPPLEMENTARY` | Indicates a supplementary track, meaning the track has lower importance than the main track(s).
    `static int` | `ROLE_FLAG_TRANSCRIBES_DIALOG` | Indicates the track contains a transcription of spoken dialog.
    `static int` | `ROLE_FLAG_TRICK_PLAY` | Indicates the track is intended for trick play.
    `static String` | `SANS_SERIF_NAME` | The name of the sans-serif font family.
    `static int` | `SELECTION_FLAG_AUTOSELECT` | Indicates that the player may choose to play the track in absence of an explicit user preference.
    `static int` | `SELECTION_FLAG_DEFAULT` | Indicates that the track should be selected if user preferences do not state otherwise.
    `static int` | `SELECTION_FLAG_FORCED` | Indicates that the track should be selected if its language matches the language of the selected audio track and user preferences do not state otherwise.
    `static int` | `SELECTION_REASON_ADAPTIVE` | A selection reason constant for an adaptive track selection.
    `static int` | `SELECTION_REASON_CUSTOM_BASE` | Applications or extensions may define custom `SELECTION_REASON_*` constants greater than or equal to this value.
    `static int` | `SELECTION_REASON_INITIAL` | A selection reason constant for an initial track selection.
    `static int` | `SELECTION_REASON_MANUAL` | A selection reason constant for an manual (i.e.
    `static int` | `SELECTION_REASON_TRICK_PLAY` | A selection reason constant for a trick play track selection.
    `static int` | `SELECTION_REASON_UNKNOWN` | A selection reason constant for selections whose reasons are unknown or unspecified.
    `static String` | `SERIF_NAME` | The name of the serif font family.
    `static int` | `STEREO_MODE_LEFT_RIGHT` | Indicates Left-Right stereo layout, used with 360/3D/VR videos.
    `static int` | `STEREO_MODE_MONO` | Indicates Monoscopic stereo layout, used with 360/3D/VR videos.
    `static int` | `STEREO_MODE_STEREO_MESH` | Indicates a stereo layout where the left and right eyes have separate meshes, used with 360/3D/VR videos.
    `static int` | `STEREO_MODE_TOP_BOTTOM` | Indicates Top-Bottom stereo layout, used with 360/3D/VR videos.
    `static int` | `STREAM_TYPE_ALARM` |
    `static int` | `STREAM_TYPE_DEFAULT` | The default stream type used by audio renderers.
    `static int` | `STREAM_TYPE_DTMF` |
    `static int` | `STREAM_TYPE_MUSIC` |
    `static int` | `STREAM_TYPE_NOTIFICATION` |
    `static int` | `STREAM_TYPE_RING` |
    `static int` | `STREAM_TYPE_SYSTEM` |
    `static int` | `STREAM_TYPE_VOICE_CALL` |
    `static long` | `TIME_END_OF_SOURCE` | Special constant representing a time corresponding to the end of a source.
    `static long` | `TIME_UNSET` | Special constant representing an unset or unknown time or duration.
    `static int` | `TRACK_TYPE_AUDIO` | A type constant for audio tracks.
    `static int` | `TRACK_TYPE_CAMERA_MOTION` | A type constant for camera motion tracks.
    `static int` | `TRACK_TYPE_CUSTOM_BASE` | Applications or extensions may define custom `TRACK_TYPE_*` constants greater than or equal to this value.
    `static int` | `TRACK_TYPE_DEFAULT` | A type constant for tracks of some default type, where the type itself is unknown.
    `static int` | `TRACK_TYPE_IMAGE` | A type constant for image tracks.
    `static int` | `TRACK_TYPE_METADATA` | A type constant for metadata tracks.
    `static int` | `TRACK_TYPE_NONE` | A type constant for a fake or empty track.
    `static int` | `TRACK_TYPE_TEXT` | A type constant for text tracks.
    `static int` | `TRACK_TYPE_UNKNOWN` | A type constant for tracks of unknown type.
    `static int` | `TRACK_TYPE_VIDEO` | A type constant for video tracks.
    `static int` | `TYPE_DASH` | Value returned by `Util.inferContentType(String)` for DASH manifests.
    `static int` | `TYPE_HLS` | Value returned by `Util.inferContentType(String)` for HLS manifests.
    `static int` | `TYPE_OTHER` | Value returned by `Util.inferContentType(String)` for files other than DASH, HLS or Smooth Streaming manifests, or RTSP URIs.
    `static int` | `TYPE_RTSP` | Value returned by `Util.inferContentType(String)` for RTSP.
    `static int` | `TYPE_SS` | Value returned by `Util.inferContentType(String)` for Smooth Streaming manifests.
    `static int` | `USAGE_ALARM` |
    `static int` | `USAGE_ASSISTANCE_ACCESSIBILITY` |
    `static int` | `USAGE_ASSISTANCE_NAVIGATION_GUIDANCE` |
    `static int` | `USAGE_ASSISTANCE_SONIFICATION` |
    `static int` | `USAGE_ASSISTANT` |
    `static int` | `USAGE_GAME` |
    `static int` | `USAGE_MEDIA` |
    `static int` | `USAGE_NOTIFICATION` |
    `static int` | `USAGE_NOTIFICATION_COMMUNICATION_DELAYED` |
    `static int` | `USAGE_NOTIFICATION_COMMUNICATION_INSTANT` |
    `static int` | `USAGE_NOTIFICATION_COMMUNICATION_REQUEST` |
    `static int` | `USAGE_NOTIFICATION_EVENT` |
    `static int` | `USAGE_NOTIFICATION_RINGTONE` |
    `static int` | `USAGE_UNKNOWN` |
    `static int` | `USAGE_VOICE_COMMUNICATION` |
    `static int` | `USAGE_VOICE_COMMUNICATION_SIGNALLING` |
    `static String` | `UTF16_NAME` | Deprecated. Use `StandardCharsets` or `Charsets` instead.
    `static String` | `UTF16LE_NAME` | Deprecated. Use `StandardCharsets` or `Charsets` instead.
    `static String` | `UTF8_NAME` | Deprecated. Use `StandardCharsets` or `Charsets` instead.
    `static UUID` | `UUID_NIL` | The Nil UUID as defined by RFC4122.
    `static int` | `VIDEO_OUTPUT_MODE_NONE` | Video decoder output mode is not set.
    `static int` | `VIDEO_OUTPUT_MODE_SURFACE_YUV` | Video decoder output mode that renders 4:2:0 YUV planes directly to a surface.
    `static int` | `VIDEO_OUTPUT_MODE_YUV` | Video decoder output mode that outputs raw 4:2:0 YUV planes.
    `static int` | `VIDEO_SCALING_MODE_DEFAULT` | A default video scaling mode for `MediaCodec`-based renderers.
    `static int` | `VIDEO_SCALING_MODE_SCALE_TO_FIT` | See `MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT`.
    `static int` | `VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING` | See `MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING`.
    `static int` | `WAKE_MODE_LOCAL` | A wake mode that will cause the player to hold a `PowerManager.WakeLock` during playback.
    `static int` | `WAKE_MODE_NETWORK` | A wake mode that will cause the player to hold a `PowerManager.WakeLock` and a `WifiManager.WifiLock` during playback.
    `static int` | `WAKE_MODE_NONE` | A wake mode that will not cause the player to hold any locks.
    `static UUID` | `WIDEVINE_UUID` | UUID for the Widevine DRM scheme.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static int` | `generateAudioSessionIdV21​(Context context)` | Returns a newly generated audio session identifier, or `AudioManager.ERROR` if an error occurred in which case audio playback may fail.
    `static String` | `getFormatSupportString​(int formatSupport)` | Returns string representation of a `C.FormatSupport` flag.
    `static long` | `msToUs​(long timeMs)` | Converts a time in milliseconds to the corresponding time in microseconds, preserving `TIME_UNSET` values and `TIME_END_OF_SOURCE` values.
    `static long` | `usToMs​(long timeUs)` | Converts a time in microseconds to the corresponding time in milliseconds, preserving `TIME_UNSET` and `TIME_END_OF_SOURCE` values.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TIME_END_OF_SOURCE

          public static final long TIME_END_OF_SOURCE

      Special constant representing a time corresponding to the end of a source. Suitable for use in any time base.
      See Also:
        Constant Field Values

    - #### TIME_UNSET

          public static final long TIME_UNSET

      Special constant representing an unset or unknown time or duration. Suitable for use in any time base.
      See Also:
        Constant Field Values

    - #### INDEX_UNSET

          public static final int INDEX_UNSET

      Represents an unset or unknown index.
      See Also:
        Constant Field Values

    - #### POSITION_UNSET

          public static final int POSITION_UNSET

      Represents an unset or unknown position.
      See Also:
        Constant Field Values

    - #### RATE_UNSET

          public static final float RATE_UNSET

      Represents an unset or unknown rate.
      See Also:
        Constant Field Values

    - #### LENGTH_UNSET

          public static final int LENGTH_UNSET

      Represents an unset or unknown length.
      See Also:
        Constant Field Values

    - #### PERCENTAGE_UNSET

          public static final int PERCENTAGE_UNSET

      Represents an unset or unknown percentage.
      See Also:
        Constant Field Values

    - #### MILLIS_PER_SECOND

          public static final long MILLIS_PER_SECOND

      The number of milliseconds in one second.
      See Also:
        Constant Field Values

    - #### MICROS_PER_SECOND

          public static final long MICROS_PER_SECOND

      The number of microseconds in one second.
      See Also:
        Constant Field Values

    - #### NANOS_PER_SECOND

          public static final long NANOS_PER_SECOND

      The number of nanoseconds in one second.
      See Also:
        Constant Field Values

    - #### BITS_PER_BYTE

          public static final int BITS_PER_BYTE

      The number of bits per byte.
      See Also:
        Constant Field Values

    - #### BYTES_PER_FLOAT

          public static final int BYTES_PER_FLOAT

      The number of bytes per float.
      See Also:
        Constant Field Values

    - #### ASCII_NAME

          @Deprecated
          public static final String ASCII_NAME

      Deprecated.
      Use `StandardCharsets` or `Charsets` instead.
      See Also:
        Constant Field Values

    - #### UTF8_NAME

          @Deprecated
          public static final String UTF8_NAME

      Deprecated.
      Use `StandardCharsets` or `Charsets` instead.
      See Also:
        Constant Field Values

    - #### ISO88591_NAME

          @Deprecated
          public static final String ISO88591_NAME

      Deprecated.
      Use `StandardCharsets` or `Charsets` instead.
      See Also:
        Constant Field Values

    - #### UTF16_NAME

          @Deprecated
          public static final String UTF16_NAME

      Deprecated.
      Use `StandardCharsets` or `Charsets` instead.
      See Also:
        Constant Field Values

    - #### UTF16LE_NAME

          @Deprecated
          public static final String UTF16LE_NAME

      Deprecated.
      Use `StandardCharsets` or `Charsets` instead.
      See Also:
        Constant Field Values

    - #### SERIF_NAME

          public static final String SERIF_NAME

      The name of the serif font family.
      See Also:
        Constant Field Values

    - #### SANS_SERIF_NAME

          public static final String SANS_SERIF_NAME

      The name of the sans-serif font family.
      See Also:
        Constant Field Values

    - #### CRYPTO_MODE_UNENCRYPTED

          public static final int CRYPTO_MODE_UNENCRYPTED

      See Also:
        `MediaCodec.CRYPTO_MODE_UNENCRYPTED`, Constant Field Values

    - #### CRYPTO_MODE_AES_CTR

          public static final int CRYPTO_MODE_AES_CTR

      See Also:
        `MediaCodec.CRYPTO_MODE_AES_CTR`, Constant Field Values

    - #### CRYPTO_MODE_AES_CBC

          public static final int CRYPTO_MODE_AES_CBC

      See Also:
        `MediaCodec.CRYPTO_MODE_AES_CBC`, Constant Field Values

    - #### AUDIO_SESSION_ID_UNSET

          public static final int AUDIO_SESSION_ID_UNSET

      Represents an unset `AudioTrack` session identifier. Equal to `AudioManager.AUDIO_SESSION_ID_GENERATE`.
      See Also:
        Constant Field Values

    - #### ENCODING_INVALID

          public static final int ENCODING_INVALID

      See Also:
        `AudioFormat.ENCODING_INVALID`, Constant Field Values

    - #### ENCODING_PCM_8BIT

          public static final int ENCODING_PCM_8BIT

      See Also:
        `AudioFormat.ENCODING_PCM_8BIT`, Constant Field Values

    - #### ENCODING_PCM_16BIT

          public static final int ENCODING_PCM_16BIT

      See Also:
        `AudioFormat.ENCODING_PCM_16BIT`, Constant Field Values

    - #### ENCODING_PCM_16BIT_BIG_ENDIAN

          public static final int ENCODING_PCM_16BIT_BIG_ENDIAN

      Like `ENCODING_PCM_16BIT`, but with the bytes in big endian order.
      See Also:
        Constant Field Values

    - #### ENCODING_PCM_24BIT

          public static final int ENCODING_PCM_24BIT

      PCM encoding with 24 bits per sample.
      See Also:
        Constant Field Values

    - #### ENCODING_PCM_32BIT

          public static final int ENCODING_PCM_32BIT

      PCM encoding with 32 bits per sample.
      See Also:
        Constant Field Values

    - #### ENCODING_PCM_FLOAT

          public static final int ENCODING_PCM_FLOAT

      See Also:
        `AudioFormat.ENCODING_PCM_FLOAT`, Constant Field Values

    - #### ENCODING_MP3

          public static final int ENCODING_MP3

      See Also:
        `AudioFormat.ENCODING_MP3`, Constant Field Values

    - #### ENCODING_AAC_LC

          public static final int ENCODING_AAC_LC

      See Also:
        `AudioFormat.ENCODING_AAC_LC`, Constant Field Values

    - #### ENCODING_AAC_HE_V1

          public static final int ENCODING_AAC_HE_V1

      See Also:
        `AudioFormat.ENCODING_AAC_HE_V1`, Constant Field Values

    - #### ENCODING_AAC_HE_V2

          public static final int ENCODING_AAC_HE_V2

      See Also:
        `AudioFormat.ENCODING_AAC_HE_V2`, Constant Field Values

    - #### ENCODING_AAC_XHE

          public static final int ENCODING_AAC_XHE

      See Also:
        `AudioFormat.ENCODING_AAC_XHE`, Constant Field Values

    - #### ENCODING_AAC_ELD

          public static final int ENCODING_AAC_ELD

      See Also:
        `AudioFormat.ENCODING_AAC_ELD`, Constant Field Values

    - #### ENCODING_AAC_ER_BSAC

          public static final int ENCODING_AAC_ER_BSAC

      AAC Error Resilient Bit-Sliced Arithmetic Coding.
      See Also:
        Constant Field Values

    - #### ENCODING_AC3

          public static final int ENCODING_AC3

      See Also:
        `AudioFormat.ENCODING_AC3`, Constant Field Values

    - #### ENCODING_E_AC3

          public static final int ENCODING_E_AC3

      See Also:
        `AudioFormat.ENCODING_E_AC3`, Constant Field Values

    - #### ENCODING_E_AC3_JOC

          public static final int ENCODING_E_AC3_JOC

      See Also:
        `AudioFormat.ENCODING_E_AC3_JOC`, Constant Field Values

    - #### ENCODING_AC4

          public static final int ENCODING_AC4

      See Also:
        `AudioFormat.ENCODING_AC4`, Constant Field Values

    - #### ENCODING_DTS

          public static final int ENCODING_DTS

      See Also:
        `AudioFormat.ENCODING_DTS`, Constant Field Values

    - #### ENCODING_DTS_HD

          public static final int ENCODING_DTS_HD

      See Also:
        `AudioFormat.ENCODING_DTS_HD`, Constant Field Values

    - #### ENCODING_DOLBY_TRUEHD

          public static final int ENCODING_DOLBY_TRUEHD

      See Also:
        `AudioFormat.ENCODING_DOLBY_TRUEHD`, Constant Field Values

    - #### STREAM_TYPE_ALARM

          public static final int STREAM_TYPE_ALARM

      See Also:
        `AudioManager.STREAM_ALARM`, Constant Field Values

    - #### STREAM_TYPE_DTMF

          public static final int STREAM_TYPE_DTMF

      See Also:
        `AudioManager.STREAM_DTMF`, Constant Field Values

    - #### STREAM_TYPE_MUSIC

          public static final int STREAM_TYPE_MUSIC

      See Also:
        `AudioManager.STREAM_MUSIC`, Constant Field Values

    - #### STREAM_TYPE_NOTIFICATION

          public static final int STREAM_TYPE_NOTIFICATION

      See Also:
        `AudioManager.STREAM_NOTIFICATION`, Constant Field Values

    - #### STREAM_TYPE_RING

          public static final int STREAM_TYPE_RING

      See Also:
        `AudioManager.STREAM_RING`, Constant Field Values

    - #### STREAM_TYPE_SYSTEM

          public static final int STREAM_TYPE_SYSTEM

      See Also:
        `AudioManager.STREAM_SYSTEM`, Constant Field Values

    - #### STREAM_TYPE_VOICE_CALL

          public static final int STREAM_TYPE_VOICE_CALL

      See Also:
        `AudioManager.STREAM_VOICE_CALL`, Constant Field Values

    - #### STREAM_TYPE_DEFAULT

          public static final int STREAM_TYPE_DEFAULT

      The default stream type used by audio renderers. Equal to `STREAM_TYPE_MUSIC`.
      See Also:
        Constant Field Values

    - #### CONTENT_TYPE_MOVIE

          public static final int CONTENT_TYPE_MOVIE

      See Also:
        `AudioAttributes.CONTENT_TYPE_MOVIE`, Constant Field Values

    - #### CONTENT_TYPE_MUSIC

          public static final int CONTENT_TYPE_MUSIC

      See Also:
        `AudioAttributes.CONTENT_TYPE_MUSIC`, Constant Field Values

    - #### CONTENT_TYPE_SONIFICATION

          public static final int CONTENT_TYPE_SONIFICATION

      See Also:
        `AudioAttributes.CONTENT_TYPE_SONIFICATION`, Constant Field Values

    - #### CONTENT_TYPE_SPEECH

          public static final int CONTENT_TYPE_SPEECH

      See Also:
        `AudioAttributes.CONTENT_TYPE_SPEECH`, Constant Field Values

    - #### CONTENT_TYPE_UNKNOWN

          public static final int CONTENT_TYPE_UNKNOWN

      See Also:
        `AudioAttributes.CONTENT_TYPE_UNKNOWN`, Constant Field Values

    - #### FLAG_AUDIBILITY_ENFORCED

          public static final int FLAG_AUDIBILITY_ENFORCED

      See Also:
        `AudioAttributes.FLAG_AUDIBILITY_ENFORCED`, Constant Field Values

    - #### USAGE_ALARM

          public static final int USAGE_ALARM

      See Also:
        `AudioAttributes.USAGE_ALARM`, Constant Field Values

    - #### USAGE_ASSISTANCE_ACCESSIBILITY

          public static final int USAGE_ASSISTANCE_ACCESSIBILITY

      See Also:
        `AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY`, Constant Field Values

    - #### USAGE_ASSISTANCE_NAVIGATION_GUIDANCE

          public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE

      See Also:
        `AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE`, Constant Field Values

    - #### USAGE_ASSISTANCE_SONIFICATION

          public static final int USAGE_ASSISTANCE_SONIFICATION

      See Also:
        `AudioAttributes.USAGE_ASSISTANCE_SONIFICATION`, Constant Field Values

    - #### USAGE_ASSISTANT

          public static final int USAGE_ASSISTANT

      See Also:
        `AudioAttributes.USAGE_ASSISTANT`, Constant Field Values

    - #### USAGE_GAME

          public static final int USAGE_GAME

      See Also:
        `AudioAttributes.USAGE_GAME`, Constant Field Values

    - #### USAGE_MEDIA

          public static final int USAGE_MEDIA

      See Also:
        `AudioAttributes.USAGE_MEDIA`, Constant Field Values

    - #### USAGE_NOTIFICATION

          public static final int USAGE_NOTIFICATION

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION`, Constant Field Values

    - #### USAGE_NOTIFICATION_COMMUNICATION_DELAYED

          public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_DELAYED`, Constant Field Values

    - #### USAGE_NOTIFICATION_COMMUNICATION_INSTANT

          public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT`, Constant Field Values

    - #### USAGE_NOTIFICATION_COMMUNICATION_REQUEST

          public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST`, Constant Field Values

    - #### USAGE_NOTIFICATION_EVENT

          public static final int USAGE_NOTIFICATION_EVENT

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION_EVENT`, Constant Field Values

    - #### USAGE_NOTIFICATION_RINGTONE

          public static final int USAGE_NOTIFICATION_RINGTONE

      See Also:
        `AudioAttributes.USAGE_NOTIFICATION_RINGTONE`, Constant Field Values

    - #### USAGE_UNKNOWN

          public static final int USAGE_UNKNOWN

      See Also:
        `AudioAttributes.USAGE_UNKNOWN`, Constant Field Values

    - #### USAGE_VOICE_COMMUNICATION

          public static final int USAGE_VOICE_COMMUNICATION

      See Also:
        `AudioAttributes.USAGE_VOICE_COMMUNICATION`, Constant Field Values

    - #### USAGE_VOICE_COMMUNICATION_SIGNALLING

          public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING

      See Also:
        `AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING`, Constant Field Values

    - #### ALLOW_CAPTURE_BY_ALL

          public static final int ALLOW_CAPTURE_BY_ALL

      See `AudioAttributes.ALLOW_CAPTURE_BY_ALL`.
      See Also:
        Constant Field Values

    - #### ALLOW_CAPTURE_BY_NONE

          public static final int ALLOW_CAPTURE_BY_NONE

      See `AudioAttributes.ALLOW_CAPTURE_BY_NONE`.
      See Also:
        Constant Field Values

    - #### ALLOW_CAPTURE_BY_SYSTEM

          public static final int ALLOW_CAPTURE_BY_SYSTEM

      See `AudioAttributes.ALLOW_CAPTURE_BY_SYSTEM`.
      See Also:
        Constant Field Values

    - #### AUDIOFOCUS_NONE

          public static final int AUDIOFOCUS_NONE

      See Also:
        `AudioManager.AUDIOFOCUS_NONE`, Constant Field Values

    - #### AUDIOFOCUS_GAIN

          public static final int AUDIOFOCUS_GAIN

      See Also:
        `AudioManager.AUDIOFOCUS_GAIN`, Constant Field Values

    - #### AUDIOFOCUS_GAIN_TRANSIENT

          public static final int AUDIOFOCUS_GAIN_TRANSIENT

      See Also:
        `AudioManager.AUDIOFOCUS_GAIN_TRANSIENT`, Constant Field Values

    - #### AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK

          public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK

      See Also:
        `AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK`, Constant Field Values

    - #### AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE

          public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE

      See Also:
        `AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE`, Constant Field Values

    - #### BUFFER_FLAG_KEY_FRAME

          public static final int BUFFER_FLAG_KEY_FRAME

      Indicates that a buffer holds a synchronization sample.
      See Also:
        Constant Field Values

    - #### BUFFER_FLAG_END_OF_STREAM

          public static final int BUFFER_FLAG_END_OF_STREAM

      Flag for empty buffers that signal that the end of the stream was reached.
      See Also:
        Constant Field Values

    - #### BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA

          public static final int BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA

      Indicates that a buffer has supplemental data.
      See Also:
        Constant Field Values

    - #### BUFFER_FLAG_LAST_SAMPLE

          public static final int BUFFER_FLAG_LAST_SAMPLE

      Indicates that a buffer is known to contain the last media sample of the stream.
      See Also:
        Constant Field Values

    - #### BUFFER_FLAG_ENCRYPTED

          public static final int BUFFER_FLAG_ENCRYPTED

      Indicates that a buffer is (at least partially) encrypted.
      See Also:
        Constant Field Values

    - #### BUFFER_FLAG_DECODE_ONLY

          public static final int BUFFER_FLAG_DECODE_ONLY

      Indicates that a buffer should be decoded but not rendered.
      See Also:
        Constant Field Values

    - #### VIDEO_OUTPUT_MODE_NONE

          public static final int VIDEO_OUTPUT_MODE_NONE

      Video decoder output mode is not set.
      See Also:
        Constant Field Values

    - #### VIDEO_OUTPUT_MODE_YUV

          public static final int VIDEO_OUTPUT_MODE_YUV

      Video decoder output mode that outputs raw 4:2:0 YUV planes.
      See Also:
        Constant Field Values

    - #### VIDEO_OUTPUT_MODE_SURFACE_YUV

          public static final int VIDEO_OUTPUT_MODE_SURFACE_YUV

      Video decoder output mode that renders 4:2:0 YUV planes directly to a surface.
      See Also:
        Constant Field Values

    - #### VIDEO_SCALING_MODE_SCALE_TO_FIT

          public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT

      See `MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT`.
      See Also:
        Constant Field Values

    - #### VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING

          public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING

      See `MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING`.
      See Also:
        Constant Field Values

    - #### VIDEO_SCALING_MODE_DEFAULT

          public static final int VIDEO_SCALING_MODE_DEFAULT

      A default video scaling mode for `MediaCodec`-based renderers.
      See Also:
        Constant Field Values

    - #### SELECTION_FLAG_DEFAULT

          public static final int SELECTION_FLAG_DEFAULT

      Indicates that the track should be selected if user preferences do not state otherwise.
      See Also:
        Constant Field Values

    - #### SELECTION_FLAG_FORCED

          public static final int SELECTION_FLAG_FORCED

      Indicates that the track should be selected if its language matches the language of the selected audio track and user preferences do not state otherwise. Only applies to text tracks.

      Tracks with this flag generally provide translation for elements that don't match the declared language of the selected audio track (e.g. speech in an alien language). See Netflix's summary for more info.

      See Also:
        Constant Field Values

    - #### SELECTION_FLAG_AUTOSELECT

          public static final int SELECTION_FLAG_AUTOSELECT

      Indicates that the player may choose to play the track in absence of an explicit user preference.
      See Also:
        Constant Field Values

    - #### LANGUAGE_UNDETERMINED

          public static final String LANGUAGE_UNDETERMINED

      Represents an undetermined language as an ISO 639-2 language code.
      See Also:
        Constant Field Values

    - #### TYPE_DASH

          public static final int TYPE_DASH

      Value returned by `Util.inferContentType(String)` for DASH manifests.
      See Also:
        Constant Field Values

    - #### TYPE_SS

          public static final int TYPE_SS

      Value returned by `Util.inferContentType(String)` for Smooth Streaming manifests.
      See Also:
        Constant Field Values

    - #### TYPE_HLS

          public static final int TYPE_HLS

      Value returned by `Util.inferContentType(String)` for HLS manifests.
      See Also:
        Constant Field Values

    - #### TYPE_RTSP

          public static final int TYPE_RTSP

      Value returned by `Util.inferContentType(String)` for RTSP.
      See Also:
        Constant Field Values

    - #### TYPE_OTHER

          public static final int TYPE_OTHER

      Value returned by `Util.inferContentType(String)` for files other than DASH, HLS or Smooth Streaming manifests, or RTSP URIs.
      See Also:
        Constant Field Values

    - #### RESULT_END_OF_INPUT

          public static final int RESULT_END_OF_INPUT

      A return value for methods where the end of an input was encountered.
      See Also:
        Constant Field Values

    - #### RESULT_MAX_LENGTH_EXCEEDED

          public static final int RESULT_MAX_LENGTH_EXCEEDED

      A return value for methods where the length of parsed data exceeds the maximum length allowed.
      See Also:
        Constant Field Values

    - #### RESULT_NOTHING_READ

          public static final int RESULT_NOTHING_READ

      A return value for methods where nothing was read.
      See Also:
        Constant Field Values

    - #### RESULT_BUFFER_READ

          public static final int RESULT_BUFFER_READ

      A return value for methods where a buffer was read.
      See Also:
        Constant Field Values

    - #### RESULT_FORMAT_READ

          public static final int RESULT_FORMAT_READ

      A return value for methods where a format was read.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_UNKNOWN

          public static final int DATA_TYPE_UNKNOWN

      A data type constant for data of unknown or unspecified type.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_MEDIA

          public static final int DATA_TYPE_MEDIA

      A data type constant for media, typically containing media samples.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_MEDIA_INITIALIZATION

          public static final int DATA_TYPE_MEDIA_INITIALIZATION

      A data type constant for media, typically containing only initialization data.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_DRM

          public static final int DATA_TYPE_DRM

      A data type constant for drm or encryption data.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_MANIFEST

          public static final int DATA_TYPE_MANIFEST

      A data type constant for a manifest file.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_TIME_SYNCHRONIZATION

          public static final int DATA_TYPE_TIME_SYNCHRONIZATION

      A data type constant for time synchronization data.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_AD

          public static final int DATA_TYPE_AD

      A data type constant for ads loader data.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_MEDIA_PROGRESSIVE_LIVE

          public static final int DATA_TYPE_MEDIA_PROGRESSIVE_LIVE

      A data type constant for live progressive media streams, typically containing media samples.
      See Also:
        Constant Field Values

    - #### DATA_TYPE_CUSTOM_BASE

          public static final int DATA_TYPE_CUSTOM_BASE

      Applications or extensions may define custom `DATA_TYPE_*` constants greater than or equal to this value.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_UNKNOWN

          public static final int TRACK_TYPE_UNKNOWN

      A type constant for tracks of unknown type.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_DEFAULT

          public static final int TRACK_TYPE_DEFAULT

      A type constant for tracks of some default type, where the type itself is unknown.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_AUDIO

          public static final int TRACK_TYPE_AUDIO

      A type constant for audio tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_VIDEO

          public static final int TRACK_TYPE_VIDEO

      A type constant for video tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_TEXT

          public static final int TRACK_TYPE_TEXT

      A type constant for text tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_IMAGE

          public static final int TRACK_TYPE_IMAGE

      A type constant for image tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_METADATA

          public static final int TRACK_TYPE_METADATA

      A type constant for metadata tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_CAMERA_MOTION

          public static final int TRACK_TYPE_CAMERA_MOTION

      A type constant for camera motion tracks.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_NONE

          public static final int TRACK_TYPE_NONE

      A type constant for a fake or empty track.
      See Also:
        Constant Field Values

    - #### TRACK_TYPE_CUSTOM_BASE

          public static final int TRACK_TYPE_CUSTOM_BASE

      Applications or extensions may define custom `TRACK_TYPE_*` constants greater than or equal to this value.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_UNKNOWN

          public static final int SELECTION_REASON_UNKNOWN

      A selection reason constant for selections whose reasons are unknown or unspecified.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_INITIAL

          public static final int SELECTION_REASON_INITIAL

      A selection reason constant for an initial track selection.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_MANUAL

          public static final int SELECTION_REASON_MANUAL

      A selection reason constant for an manual (i.e. user initiated) track selection.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_ADAPTIVE

          public static final int SELECTION_REASON_ADAPTIVE

      A selection reason constant for an adaptive track selection.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_TRICK_PLAY

          public static final int SELECTION_REASON_TRICK_PLAY

      A selection reason constant for a trick play track selection.
      See Also:
        Constant Field Values

    - #### SELECTION_REASON_CUSTOM_BASE

          public static final int SELECTION_REASON_CUSTOM_BASE

      Applications or extensions may define custom `SELECTION_REASON_*` constants greater than or equal to this value.
      See Also:
        Constant Field Values

    - #### DEFAULT_BUFFER_SEGMENT_SIZE

          public static final int DEFAULT_BUFFER_SEGMENT_SIZE

      A default size in bytes for an individual allocation that forms part of a larger buffer.
      See Also:
        Constant Field Values

    - #### CENC_TYPE_cenc

          public static final String CENC_TYPE_cenc

      "cenc" scheme type name as defined in ISO/IEC 23001-7:2016.
      See Also:
        Constant Field Values

    - #### CENC_TYPE_cbc1

          public static final String CENC_TYPE_cbc1

      "cbc1" scheme type name as defined in ISO/IEC 23001-7:2016.
      See Also:
        Constant Field Values

    - #### CENC_TYPE_cens

          public static final String CENC_TYPE_cens

      "cens" scheme type name as defined in ISO/IEC 23001-7:2016.
      See Also:
        Constant Field Values

    - #### CENC_TYPE_cbcs

          public static final String CENC_TYPE_cbcs

      "cbcs" scheme type name as defined in ISO/IEC 23001-7:2016.
      See Also:
        Constant Field Values

    - #### UUID_NIL

          public static final UUID UUID_NIL

      The Nil UUID as defined by RFC4122.

    - #### COMMON_PSSH_UUID

          public static final UUID COMMON_PSSH_UUID

      UUID for the W3C Common PSSH box.

    - #### CLEARKEY_UUID

          public static final UUID CLEARKEY_UUID

      UUID for the ClearKey DRM scheme.

      ClearKey is supported on Android devices running Android 5.0 (API Level 21) and up.

    - #### WIDEVINE_UUID

          public static final UUID WIDEVINE_UUID

      UUID for the Widevine DRM scheme.

      Widevine is supported on Android devices running Android 4.3 (API Level 18) and up.

    - #### PLAYREADY_UUID

          public static final UUID PLAYREADY_UUID

      UUID for the PlayReady DRM scheme.

      PlayReady is supported on all AndroidTV devices. Note that most other Android devices do not provide PlayReady support.

    - #### MSG_SET_SURFACE

          @Deprecated
          public static final int MSG_SET_SURFACE

      Deprecated.
      Use `Renderer.MSG_SET_VIDEO_OUTPUT`.
      See Also:
        Constant Field Values

    - #### MSG_SET_VOLUME

          @Deprecated
          public static final int MSG_SET_VOLUME

      Deprecated.
      Use `Renderer.MSG_SET_VOLUME`.
      See Also:
        Constant Field Values

    - #### MSG_SET_AUDIO_ATTRIBUTES

          @Deprecated
          public static final int MSG_SET_AUDIO_ATTRIBUTES

      Deprecated.
      Use `Renderer.MSG_SET_AUDIO_ATTRIBUTES`.
      See Also:
        Constant Field Values

    - #### MSG_SET_SCALING_MODE

          @Deprecated
          public static final int MSG_SET_SCALING_MODE

      Deprecated.
      Use `Renderer.MSG_SET_SCALING_MODE`.
      See Also:
        Constant Field Values

    - #### MSG_SET_AUX_EFFECT_INFO

          @Deprecated
          public static final int MSG_SET_AUX_EFFECT_INFO

      Deprecated.
      Use `Renderer.MSG_SET_AUX_EFFECT_INFO`.
      See Also:
        Constant Field Values

    - #### MSG_SET_VIDEO_FRAME_METADATA_LISTENER

          @Deprecated
          public static final int MSG_SET_VIDEO_FRAME_METADATA_LISTENER

      Deprecated.
      Use `Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER`.
      See Also:
        Constant Field Values

    - #### MSG_SET_CAMERA_MOTION_LISTENER

          @Deprecated
          public static final int MSG_SET_CAMERA_MOTION_LISTENER

      Deprecated.
      Use `Renderer.MSG_SET_CAMERA_MOTION_LISTENER`.
      See Also:
        Constant Field Values

    - #### MSG_CUSTOM_BASE

          @Deprecated
          public static final int MSG_CUSTOM_BASE

      Deprecated.
      Use `Renderer.MSG_CUSTOM_BASE`.
      See Also:
        Constant Field Values

    - #### STEREO_MODE_MONO

          public static final int STEREO_MODE_MONO

      Indicates Monoscopic stereo layout, used with 360/3D/VR videos.
      See Also:
        Constant Field Values

    - #### STEREO_MODE_TOP_BOTTOM

          public static final int STEREO_MODE_TOP_BOTTOM

      Indicates Top-Bottom stereo layout, used with 360/3D/VR videos.
      See Also:
        Constant Field Values

    - #### STEREO_MODE_LEFT_RIGHT

          public static final int STEREO_MODE_LEFT_RIGHT

      Indicates Left-Right stereo layout, used with 360/3D/VR videos.
      See Also:
        Constant Field Values

    - #### STEREO_MODE_STEREO_MESH

          public static final int STEREO_MODE_STEREO_MESH

      Indicates a stereo layout where the left and right eyes have separate meshes, used with 360/3D/VR videos.
      See Also:
        Constant Field Values

    - #### COLOR_SPACE_BT709

          public static final int COLOR_SPACE_BT709

      See Also:
        `MediaFormat.COLOR_STANDARD_BT709`, Constant Field Values

    - #### COLOR_SPACE_BT601

          public static final int COLOR_SPACE_BT601

      See Also:
        `MediaFormat.COLOR_STANDARD_BT601_PAL`, Constant Field Values

    - #### COLOR_SPACE_BT2020

          public static final int COLOR_SPACE_BT2020

      See Also:
        `MediaFormat.COLOR_STANDARD_BT2020`, Constant Field Values

    - #### COLOR_TRANSFER_SDR

          public static final int COLOR_TRANSFER_SDR

      See Also:
        `MediaFormat.COLOR_TRANSFER_SDR_VIDEO`, Constant Field Values

    - #### COLOR_TRANSFER_ST2084

          public static final int COLOR_TRANSFER_ST2084

      See Also:
        `MediaFormat.COLOR_TRANSFER_ST2084`, Constant Field Values

    - #### COLOR_TRANSFER_HLG

          public static final int COLOR_TRANSFER_HLG

      See Also:
        `MediaFormat.COLOR_TRANSFER_HLG`, Constant Field Values

    - #### COLOR_RANGE_LIMITED

          public static final int COLOR_RANGE_LIMITED

      See Also:
        `MediaFormat.COLOR_RANGE_LIMITED`, Constant Field Values

    - #### COLOR_RANGE_FULL

          public static final int COLOR_RANGE_FULL

      See Also:
        `MediaFormat.COLOR_RANGE_FULL`, Constant Field Values

    - #### PROJECTION_RECTANGULAR

          public static final int PROJECTION_RECTANGULAR

      Conventional rectangular projection.
      See Also:
        Constant Field Values

    - #### PROJECTION_EQUIRECTANGULAR

          public static final int PROJECTION_EQUIRECTANGULAR

      Equirectangular spherical projection.
      See Also:
        Constant Field Values

    - #### PROJECTION_CUBEMAP

          public static final int PROJECTION_CUBEMAP

      Cube map projection.
      See Also:
        Constant Field Values

    - #### PROJECTION_MESH

          public static final int PROJECTION_MESH

      3-D mesh projection.
      See Also:
        Constant Field Values

    - #### PRIORITY_PLAYBACK

          public static final int PRIORITY_PLAYBACK

      Priority for media playback.

      Larger values indicate higher priorities.

      See Also:
        Constant Field Values

    - #### PRIORITY_DOWNLOAD

          public static final int PRIORITY_DOWNLOAD

      Priority for media downloading.

      Larger values indicate higher priorities.

      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_UNKNOWN

          public static final int NETWORK_TYPE_UNKNOWN

      Unknown network type.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_OFFLINE

          public static final int NETWORK_TYPE_OFFLINE

      No network connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_WIFI

          public static final int NETWORK_TYPE_WIFI

      Network type for a Wifi connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_2G

          public static final int NETWORK_TYPE_2G

      Network type for a 2G cellular connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_3G

          public static final int NETWORK_TYPE_3G

      Network type for a 3G cellular connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_4G

          public static final int NETWORK_TYPE_4G

      Network type for a 4G cellular connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_5G_SA

          public static final int NETWORK_TYPE_5G_SA

      Network type for a 5G stand-alone (SA) cellular connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_5G_NSA

          public static final int NETWORK_TYPE_5G_NSA

      Network type for a 5G non-stand-alone (NSA) cellular connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_CELLULAR_UNKNOWN

          public static final int NETWORK_TYPE_CELLULAR_UNKNOWN

      Network type for cellular connections which cannot be mapped to one of `NETWORK_TYPE_2G`, `NETWORK_TYPE_3G`, or `NETWORK_TYPE_4G`.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_ETHERNET

          public static final int NETWORK_TYPE_ETHERNET

      Network type for an Ethernet connection.
      See Also:
        Constant Field Values

    - #### NETWORK_TYPE_OTHER

          public static final int NETWORK_TYPE_OTHER

      Network type for other connections which are not Wifi or cellular (e.g. VPN, Bluetooth).
      See Also:
        Constant Field Values

    - #### WAKE_MODE_NONE

          public static final int WAKE_MODE_NONE

      A wake mode that will not cause the player to hold any locks.

      This is suitable for applications that do not play media with the screen off.

      See Also:
        Constant Field Values

    - #### WAKE_MODE_LOCAL

          public static final int WAKE_MODE_LOCAL

      A wake mode that will cause the player to hold a `PowerManager.WakeLock` during playback.

      This is suitable for applications that play media with the screen off and do not load media over wifi.

      See Also:
        Constant Field Values

    - #### WAKE_MODE_NETWORK

          public static final int WAKE_MODE_NETWORK

      A wake mode that will cause the player to hold a `PowerManager.WakeLock` and a `WifiManager.WifiLock` during playback.

      This is suitable for applications that play media with the screen off and may load media over wifi.

      See Also:
        Constant Field Values

    - #### ROLE_FLAG_MAIN

          public static final int ROLE_FLAG_MAIN

      Indicates a main track.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_ALTERNATE

          public static final int ROLE_FLAG_ALTERNATE

      Indicates an alternate track. For example a video track recorded from an different view point than the main track(s).
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_SUPPLEMENTARY

          public static final int ROLE_FLAG_SUPPLEMENTARY

      Indicates a supplementary track, meaning the track has lower importance than the main track(s). For example a video track that provides a visual accompaniment to a main audio track.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_COMMENTARY

          public static final int ROLE_FLAG_COMMENTARY

      Indicates the track contains commentary, for example from the director.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_DUB

          public static final int ROLE_FLAG_DUB

      Indicates the track is in a different language from the original, for example dubbed audio or translated captions.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_EMERGENCY

          public static final int ROLE_FLAG_EMERGENCY

      Indicates the track contains information about a current emergency.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_CAPTION

          public static final int ROLE_FLAG_CAPTION

      Indicates the track contains captions. This flag may be set on video tracks to indicate the presence of burned in captions.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_SUBTITLE

          public static final int ROLE_FLAG_SUBTITLE

      Indicates the track contains subtitles. This flag may be set on video tracks to indicate the presence of burned in subtitles.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_SIGN

          public static final int ROLE_FLAG_SIGN

      Indicates the track contains a visual sign-language interpretation of an audio track.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_DESCRIBES_VIDEO

          public static final int ROLE_FLAG_DESCRIBES_VIDEO

      Indicates the track contains an audio or textual description of a video track.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND

          public static final int ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND

      Indicates the track contains a textual description of music and sound.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY

          public static final int ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY

      Indicates the track is designed for improved intelligibility of dialogue.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_TRANSCRIBES_DIALOG

          public static final int ROLE_FLAG_TRANSCRIBES_DIALOG

      Indicates the track contains a transcription of spoken dialog.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_EASY_TO_READ

          public static final int ROLE_FLAG_EASY_TO_READ

      Indicates the track contains a text that has been edited for ease of reading.
      See Also:
        Constant Field Values

    - #### ROLE_FLAG_TRICK_PLAY

          public static final int ROLE_FLAG_TRICK_PLAY

      Indicates the track is intended for trick play.
      See Also:
        Constant Field Values

    - #### FORMAT_HANDLED

          public static final int FORMAT_HANDLED

      The `Renderer` is capable of rendering the format.
      See Also:
        Constant Field Values

    - #### FORMAT_EXCEEDS_CAPABILITIES

          public static final int FORMAT_EXCEEDS_CAPABILITIES

      The `Renderer` is capable of rendering formats with the same MIME type, but the properties of the format exceed the renderer's capabilities. There is a chance the renderer will be able to play the format in practice because some renderers report their capabilities conservatively, but the expected outcome is that playback will fail.

      Example: The `Renderer` is capable of rendering H264 and the format's MIME type is `MimeTypes#VIDEO_H264`, but the format's resolution exceeds the maximum limit supported by the underlying H264 decoder.

      See Also:
        Constant Field Values

    - #### FORMAT_UNSUPPORTED_DRM

          public static final int FORMAT_UNSUPPORTED_DRM

      The `Renderer` is capable of rendering formats with the same MIME type, but is not capable of rendering the format because the format's drm protection is not supported.

      Example: The `Renderer` is capable of rendering H264 and the format's MIME type is `MimeTypes.VIDEO_H264`, but the format indicates PlayReady drm protection whereas the renderer only supports Widevine.

      See Also:
        Constant Field Values

    - #### FORMAT_UNSUPPORTED_SUBTYPE

          public static final int FORMAT_UNSUPPORTED_SUBTYPE

      The `Renderer` is a general purpose renderer for formats of the same top-level type, but is not capable of rendering the format or any other format with the same MIME type because the sub-type is not supported.

      Example: The `Renderer` is a general purpose audio renderer and the format's MIME type matches audio/[subtype], but there does not exist a suitable decoder for [subtype].

      See Also:
        Constant Field Values

    - #### FORMAT_UNSUPPORTED_TYPE

          public static final int FORMAT_UNSUPPORTED_TYPE

      The `Renderer` is not capable of rendering the format, either because it does not support the format's top-level type, or because it's a specialized renderer for a different MIME type.

      Example: The `Renderer` is a general purpose video renderer, but the format has an audio MIME type.

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### usToMs

          public static long usToMs​(long timeUs)

      Converts a time in microseconds to the corresponding time in milliseconds, preserving `TIME_UNSET` and `TIME_END_OF_SOURCE` values.
      Parameters:
        `timeUs` - The time in microseconds.
      Returns:
        The corresponding time in milliseconds.

    - #### msToUs

          public static long msToUs​(long timeMs)

      Converts a time in milliseconds to the corresponding time in microseconds, preserving `TIME_UNSET` values and `TIME_END_OF_SOURCE` values.
      Parameters:
        `timeMs` - The time in milliseconds.
      Returns:
        The corresponding time in microseconds.

    - #### generateAudioSessionIdV21

          public static int generateAudioSessionIdV21​(Context context)

      Returns a newly generated audio session identifier, or `AudioManager.ERROR` if an error occurred in which case audio playback may fail.
      See Also:
        `AudioManager.generateAudioSessionId()`

    - #### getFormatSupportString

          public static String getFormatSupportString​(@FormatSupport
                                                      int formatSupport)

      Returns string representation of a `C.FormatSupport` flag.
      Parameters:
        `formatSupport` - A `C.FormatSupport` flag.
      Returns:
        A string representation of the flag.