Added in API level 1

android.media


Provides classes that manage various media interfaces in audio and video.

The Media APIs are used to play and, in some cases, record media files. This includes audio (e.g., play MP3s or other music files, ringtones, game sound effects, or DTMF tones) and video (e.g., play a video streamed over the web or from local storage).

Other special classes in the package offer the ability to detect the faces of people in Bitmaps (FaceDetector), control audio routing (to the device or a headset) and control alerts such as ringtones and phone vibrations (AudioManager).

Interfaces

AudioManager.OnAudioFocusChangeListener Interface definition for a callback to be invoked when the audio focus of the system is updated. 
AudioManager.OnCommunicationDeviceChangedListener Listener registered by client to be notified upon communication audio device change. 
AudioManager.OnModeChangedListener Interface definition of a callback that is notified when the audio mode changes 
AudioManager.OnPreferredMixerAttributesChangedListener Interface to be notified of changes in the preferred mixer attributes. 
AudioMetadata.Key<T> Key interface for the AudioMetadata map. 
AudioMetadataMap AudioMetadataMap is a writeable Map-style interface of AudioMetadata.Key value pairs. 
AudioMetadataReadMap A read only Map-style interface of AudioMetadata.Key value pairs used for AudioMetadata
AudioRecord.OnRecordPositionUpdateListener Interface definition for a callback to be invoked when an AudioRecord has reached a notification marker set by AudioRecord.setNotificationMarkerPosition(int) or for periodic updates on the progress of the record head, as set by AudioRecord.setPositionNotificationPeriod(int)
AudioRecord.OnRoutingChangedListener This interface was deprecated in API level 24. users should switch to the general purpose AudioRouting.OnRoutingChangedListener class instead. 
AudioRecordingMonitor AudioRecordingMonitor defines an interface implemented by AudioRecord and MediaRecorder allowing applications to install a callback and be notified of changes in the capture path while recoding is active. 
AudioRouting AudioRouting defines an interface for controlling routing and routing notifications in AudioTrack and AudioRecord objects. 
AudioRouting.OnRoutingChangedListener Defines the interface by which applications can receive notifications of routing changes for the associated AudioRouting
AudioTrack.OnCodecFormatChangedListener Interface definition for a listener for codec format changes. 
AudioTrack.OnPlaybackPositionUpdateListener Interface definition for a callback to be invoked when the playback head position of an AudioTrack has reached a notification marker or has increased by a certain period. 
AudioTrack.OnRoutingChangedListener This interface was deprecated in API level 24. users should switch to the general purpose AudioRouting.OnRoutingChangedListener class instead. 
ImageReader.OnImageAvailableListener Callback interface for being notified that a new image is available. 
ImageWriter.OnImageReleasedListener ImageWriter callback interface, used to to asynchronously notify the application of various ImageWriter events. 
JetPlayer.OnJetEventListener Handles the notification when the JET engine generates an event. 
LoudnessCodecController.OnLoudnessCodecUpdateListener Listener used for receiving asynchronous loudness metadata updates. 
MediaCas.EventListener An interface registered by the caller to MediaCas.setEventListener(EventListener, Handler) to receives scheme-specific notifications from a MediaCas instance. 
MediaCodec.OnFirstTunnelFrameReadyListener Listener to be called when the first output frame has been decoded and is ready to be rendered for a codec configured for tunnel mode with KEY_AUDIO_SESSION_ID
MediaCodec.OnFrameRenderedListener Listener to be called when an output frame has rendered on the output surface 
MediaDrm.OnEventListener Interface definition for a callback to be invoked when a drm event occurs 
MediaDrm.OnExpirationUpdateListener Interface definition for a callback to be invoked when a drm session expiration update occurs 
MediaDrm.OnKeyStatusChangeListener Interface definition for a callback to be invoked when the keys in a drm session change states. 
MediaDrm.OnSessionLostStateListener Interface definition for a callback to be invoked when the session state has been lost and is now invalid 
MediaDrmThrowable A @Throwable thrown from MediaDrm or @MediaCrypto APIs 
MediaParser.InputReader Provides input data to MediaParser
MediaParser.OutputConsumer Receives extracted media sample data and metadata from MediaParser
MediaParser.SeekableInputReader InputReader that allows setting the read position. 
MediaPlayer.OnBufferingUpdateListener Interface definition of a callback to be invoked indicating buffering status of a media resource being streamed over the network. 
MediaPlayer.OnCompletionListener Interface definition for a callback to be invoked when playback of a media source has completed. 
MediaPlayer.OnDrmConfigHelper Interface definition of a callback to be invoked when the app can do DRM configuration (get/set properties) before the session is opened. 
MediaPlayer.OnDrmInfoListener Interface definition of a callback to be invoked when the DRM info becomes available 
MediaPlayer.OnDrmPreparedListener Interface definition of a callback to notify the app when the DRM is ready for key request/response 
MediaPlayer.OnErrorListener Interface definition of a callback to be invoked when there has been an error during an asynchronous operation (other errors will throw exceptions at method call time). 
MediaPlayer.OnInfoListener Interface definition of a callback to be invoked to communicate some info and/or warning about the media or its playback. 
MediaPlayer.OnMediaTimeDiscontinuityListener Interface definition of a callback to be invoked when discontinuity in the normal progression of the media time is detected. 
MediaPlayer.OnPreparedListener Interface definition for a callback to be invoked when the media source is ready for playback. 
MediaPlayer.OnSeekCompleteListener Interface definition of a callback to be invoked indicating the completion of a seek operation. 
MediaPlayer.OnSubtitleDataListener Interface definition of a callback to be invoked when a player subtitle track has new subtitle data available. 
MediaPlayer.OnTimedMetaDataAvailableListener Interface definition of a callback to be invoked when a track has timed metadata available. 
MediaPlayer.OnTimedTextListener Interface definition of a callback to be invoked when a timed text is available for display. 
MediaPlayer.OnVideoSizeChangedListener Interface definition of a callback to be invoked when the video size is first known or updated 
MediaRecorder.OnErrorListener Interface definition for a callback to be invoked when an error occurs while recording. 
MediaRecorder.OnInfoListener Interface definition of a callback to be invoked to communicate some info and/or warning about the recording. 
MediaRouter2.OnGetControllerHintsListener A listener interface to send optional app-specific hints when creating a RoutingController
MediaScannerConnection.MediaScannerConnectionClient An interface for notifying clients of MediaScannerConnection when a connection to the MediaScanner service has been established and when the scanning of a file has completed. 
MediaScannerConnection.OnScanCompletedListener Interface for notifying clients of the result of scanning a requested media file. 
MediaSync.OnErrorListener Interface definition of a callback to be invoked when there has been an error during an asynchronous operation (other errors will throw exceptions at method call time). 
MicrophoneDirection Interface defining mechanism for controlling the directionality and field width of audio capture. 
RemoteControlClient.OnGetPlaybackPositionListener Interface definition for a callback to be invoked when the media playback position is queried. 
RemoteControlClient.OnMetadataUpdateListener Interface definition for a callback to be invoked when one of the metadata values has been updated. 
RemoteControlClient.OnPlaybackPositionUpdateListener Interface definition for a callback to be invoked when the media playback position is requested to be updated. 
RemoteController.OnClientUpdateListener Interface definition for the callbacks to be invoked whenever media events, metadata and playback status are available. 
SoundPool.OnLoadCompleteListener  
Spatializer.OnHeadTrackerAvailableListener Interface to be notified of changes to the availability of a head tracker on the audio device to be used by the spatializer effect. 
Spatializer.OnSpatializerStateChangedListener An interface to be notified of changes to the state of the spatializer effect. 
VolumeAutomation VolumeAutomation defines an interface for automatic volume control of AudioTrack and MediaPlayer objects. 

Classes

ApplicationMediaCapabilities ApplicationMediaCapabilities is an immutable class that encapsulates an application's capabilities for handling newer video codec format and media features. 
ApplicationMediaCapabilities.Builder Builder class for ApplicationMediaCapabilities objects. 
AsyncPlayer Plays a series of audio URIs, but does all the hard work on another thread so that any slowness with preparing or loading doesn't block the calling thread. 
AudioAttributes A class to encapsulate a collection of attributes describing information about an audio stream. 
AudioAttributes.Builder Builder class for AudioAttributes objects. 
AudioDescriptor The AudioDescriptor contains the information to describe the audio playback/capture capabilities. 
AudioDeviceCallback AudioDeviceCallback defines the mechanism by which applications can receive notifications of audio device connection and disconnection events. 
AudioDeviceInfo Provides information about an audio device. 
AudioFocusRequest A class to encapsulate information about an audio focus request. 
AudioFocusRequest.Builder Builder class for AudioFocusRequest objects. 
AudioFormat The AudioFormat class is used to access a number of audio format and channel configuration constants. 
AudioFormat.Builder Builder class for AudioFormat objects. 
AudioManager AudioManager provides access to volume and ringer mode control. 
AudioManager.AudioPlaybackCallback Interface for receiving update notifications about the playback activity on the system. 
AudioManager.AudioRecordingCallback Interface for receiving update notifications about the recording configuration. 
AudioMetadata AudioMetadata class is used to manage typed key-value pairs for configuration and capability requests within the Audio Framework. 
AudioMetadata.Format A container class for AudioMetadata Format keys. 
AudioMixerAttributes Class to represent the attributes of the audio mixer: its format, which represents by an AudioFormat object and mixer behavior. 
AudioMixerAttributes.Builder Builder class for AudioMixerAttributes objects. 
AudioPlaybackCaptureConfiguration Configuration for capturing audio played by other apps. 
AudioPlaybackCaptureConfiguration.Builder Builder for creating AudioPlaybackCaptureConfiguration instances. 
AudioPlaybackConfiguration The AudioPlaybackConfiguration class collects the information describing an audio playback session. 
AudioPresentation The AudioPresentation class encapsulates the information that describes an audio presentation which is available in next generation audio content. 
AudioPresentation.Builder A builder class for creating AudioPresentation objects. 
AudioProfile An AudioProfile is specific to an audio format and lists supported sampling rates and channel masks for that format. 
AudioRecord The AudioRecord class manages the audio resources for Java applications to record audio from the audio input hardware of the platform. 
AudioRecord.Builder Builder class for AudioRecord objects. 
AudioRecord.MetricsConstants  
AudioRecordingConfiguration The AudioRecordingConfiguration class collects the information describing an audio recording session. 
AudioTimestamp Structure that groups a position in frame units relative to an assumed audio stream, together with the estimated time when that frame enters or leaves the audio processing pipeline on that device. 
AudioTrack The AudioTrack class manages and plays a single audio resource for Java applications. 
AudioTrack.Builder Builder class for AudioTrack objects. 
AudioTrack.MetricsConstants  
AudioTrack.StreamEventCallback Abstract class to receive event notifications about the stream playback in offloaded mode. 
CamcorderProfile Retrieves the predefined camcorder profile settings for camcorder applications. 
CameraProfile The CameraProfile class is used to retrieve the pre-defined still image capture (jpeg) quality levels (0-100) used for low, medium, and high quality settings in the Camera application. 
DrmInitData Encapsulates initialization data required by a MediaDrm instance. 
DrmInitData.SchemeInitData Scheme initialization data. 
EncoderProfiles Describes a set of encoding profiles for a given media (audio and/or video) profile. 
EncoderProfiles.AudioProfile Configuration for an audio encoder. 
EncoderProfiles.VideoProfile Configuration for a video encoder. 
ExifInterface This is a class for reading and writing Exif tags in various image file formats. 
FaceDetector Identifies the faces of people in a Bitmap graphic object. 
FaceDetector.Face A Face contains all the information identifying the location of a face in a bitmap. 
Image

A single complete image buffer to use with a media source such as a MediaCodec or a CameraDevice

Image.Plane

A single color plane of image data. 

ImageReader

The ImageReader class allows direct application access to image data rendered into a Surface

Several Android media API classes accept Surface objects as targets to render to, including MediaPlayer, MediaCodec, CameraDevice, ImageWriter and RenderScript Allocations

ImageReader.Builder Builder class for ImageReader objects. 
ImageWriter

The ImageWriter class allows an application to produce Image data into a Surface, and have it be consumed by another component like CameraDevice

ImageWriter.Builder Builder class for ImageWriter objects. 
JetPlayer JetPlayer provides access to JET content playback and control. 
LoudnessCodecController Class for getting recommended loudness parameter updates for audio decoders as they are used to play back media content according to the encoded format and current audio routing. 
MediaActionSound

A class for producing sounds that match those produced by various actions taken by the media and camera APIs. 

MediaCas MediaCas can be used to obtain keys for descrambling protected media streams, in conjunction with MediaDescrambler
MediaCas.PluginDescriptor Describe a CAS plugin with its CA_system_ID and string name. 
MediaCas.Session Class for an open session with the CA system. 
MediaCodec MediaCodec class can be used to access low-level media codecs, i.e. 
MediaCodec.BufferInfo Per buffer metadata includes an offset and size specifying the range of valid data in the associated codec (output) buffer. 
MediaCodec.Callback MediaCodec callback interface. 
MediaCodec.CryptoInfo Metadata describing the structure of an encrypted input sample. 
MediaCodec.CryptoInfo.Pattern Metadata describing an encryption pattern for the protected bytes in a subsample. 
MediaCodec.LinearBlock Section of memory that represents a linear block. 
MediaCodec.MetricsConstants  
MediaCodec.OutputFrame A single output frame and its associated metadata. 
MediaCodec.ParameterDescriptor Contains description of a parameter. 
MediaCodec.QueueRequest Builder-like class for queue requests. 
MediaCodecInfo Provides information about a given media codec available on the device. 
MediaCodecInfo.AudioCapabilities A class that supports querying the audio capabilities of a codec. 
MediaCodecInfo.CodecCapabilities Encapsulates the capabilities of a given codec component. 
MediaCodecInfo.CodecProfileLevel Encapsulates the profiles available for a codec component. 
MediaCodecInfo.EncoderCapabilities A class that supports querying the encoding capabilities of a codec. 
MediaCodecInfo.VideoCapabilities A class that supports querying the video capabilities of a codec. 
MediaCodecInfo.VideoCapabilities.PerformancePoint Video performance points are a set of standard performance points defined by number of pixels, pixel rate and frame rate. 
MediaCodecList Allows you to enumerate available codecs, each specified as a MediaCodecInfo object, find a codec supporting a given format and query the capabilities of a given codec. 
MediaCommunicationManager Provides support for interacting with MediaSession2s that applications have published to express their ongoing media playback state. 
MediaController2 This API is not generally intended for third party application developers. 
MediaController2.Builder This API is not generally intended for third party application developers. 
MediaController2.ControllerCallback This API is not generally intended for third party application developers. 
MediaCrypto MediaCrypto class can be used in conjunction with MediaCodec to decode encrypted media data. 
MediaDataSource For supplying media data to the framework. 
MediaDescrambler MediaDescrambler class can be used in conjunction with MediaCodec and MediaExtractor to decode media data scrambled by conditional access (CA) systems such as those in the ISO/IEC13818-1. 
MediaDescription A simple set of metadata for a media item suitable for display. 
MediaDescription.Builder Builder for MediaDescription objects. 
MediaDrm MediaDrm can be used to obtain keys for decrypting protected media streams, in conjunction with MediaCrypto
MediaDrm.CryptoSession In addition to supporting decryption of DASH Common Encrypted Media, the MediaDrm APIs provide the ability to securely deliver session keys from an operator's session key server to a client device, based on the factory-installed root of trust, and then perform encrypt, decrypt, sign and verify operations with the session key on arbitrary user data. 
MediaDrm.ErrorCodes Error codes that may be returned from MediaDrm.MediaDrmStateException.getErrorCode() and MediaCodec.CryptoException.getErrorCode()

The description of each error code includes steps that may be taken to resolve the error condition. 

MediaDrm.KeyRequest Contains the opaque data an app uses to request keys from a license server. 
MediaDrm.KeyStatus Defines the status of a key. 
MediaDrm.LogMessage A LogMessage records an event in the MediaDrm framework or vendor plugin. 
MediaDrm.MetricsConstants Definitions for the metrics that are reported via the MediaDrm.getMetrics() call. 
MediaDrm.PlaybackComponent This class contains the Drm session ID and log session ID 
MediaDrm.ProvisionRequest Contains the opaque data an app uses to request a certificate from a provisioning server 
MediaExtractor MediaExtractor facilitates extraction of demuxed, typically encoded, media data from a data source. 
MediaExtractor.CasInfo Describes the conditional access system used to scramble a track. 
MediaExtractor.MetricsConstants  
MediaFeature MediaFeature defines various media features, e.g. hdr type. 
MediaFeature.HdrType Defines the type of HDR (high dynamic range) video. 
MediaFormat Encapsulates the information describing the format of media data, be it audio or video, as well as optional feature metadata. 
MediaFormat.QpOffsetRect QpOffsetRect constitutes the metadata required for encoding a region of interest in an image or a video frame. 
MediaMetadata Contains metadata about an item, such as the title, artist, etc. 
MediaMetadata.Builder Use to build MediaMetadata objects. 
MediaMetadataEditor This class was deprecated in API level 21. Use MediaMetadata instead together with MediaSession. 
MediaMetadataRetriever MediaMetadataRetriever class provides a unified interface for retrieving frame and meta data from an input media file. 
MediaMetadataRetriever.BitmapParams  
MediaMuxer MediaMuxer facilitates muxing elementary streams. 
MediaMuxer.OutputFormat Defines the output format. 
MediaParser Parses media container formats and extracts contained media samples and metadata. 
MediaParser.SeekMap Maps seek positions to SeekPoints in the stream. 
MediaParser.SeekPoint Defines a seek point in a media stream. 
MediaParser.TrackData Holds information associated with a track. 
MediaPlayer MediaPlayer class can be used to control playback of audio/video files and streams. 
MediaPlayer.DrmInfo Encapsulates the DRM properties of the source. 
MediaPlayer.MetricsConstants  
MediaPlayer.TrackInfo Class for MediaPlayer to return each audio/video/subtitle track's metadata. 
MediaRecorder Used to record audio and video. 
MediaRecorder.AudioEncoder Defines the audio encoding. 
MediaRecorder.AudioSource Defines the audio source. 
MediaRecorder.MetricsConstants  
MediaRecorder.OutputFormat Defines the output format. 
MediaRecorder.VideoEncoder Defines the video encoding. 
MediaRecorder.VideoSource Defines the video source. 
MediaRoute2Info Describes the properties of a route. 
MediaRoute2Info.Builder Builder for media route info
MediaRoute2ProviderService Base class for media route provider services. 
MediaRouter This API is not recommended for new applications. 
MediaRouter.Callback Interface for receiving events about media routing changes. 
MediaRouter.RouteCategory Definition of a category of routes. 
MediaRouter.RouteGroup Information about a route that consists of multiple other routes in a group. 
MediaRouter.RouteInfo Information about a media route. 
MediaRouter.SimpleCallback Stub implementation of MediaRouter.Callback
MediaRouter.UserRouteInfo Information about a route that the application may define and modify. 
MediaRouter.VolumeCallback Interface for receiving events about volume changes. 
MediaRouter2 This API is not generally intended for third party application developers. 
MediaRouter2.ControllerCallback Callback for receiving RoutingController updates. 
MediaRouter2.RouteCallback Callback for receiving events about media route discovery. 
MediaRouter2.RoutingController Controls a media routing session. 
MediaRouter2.ScanRequest Represents a set of parameters for scanning requests. 
MediaRouter2.ScanRequest.Builder Builder class for ScanRequest
MediaRouter2.ScanToken Represents an active scan request registered in the system. 
MediaRouter2.TransferCallback Callback for receiving events on media transfer. 
MediaScannerConnection MediaScannerConnection provides a way for applications to pass a newly created or downloaded media file to the media scanner service. 
MediaSession2 This API is not generally intended for third party application developers. 
MediaSession2.Builder This API is not generally intended for third party application developers. 
MediaSession2.ControllerInfo This API is not generally intended for third party application developers. 
MediaSession2.SessionCallback This API is not generally intended for third party application developers. 
MediaSession2Service This API is not generally intended for third party application developers. 
MediaSession2Service.MediaNotification This API is not generally intended for third party application developers. 
MediaSync MediaSync class can be used to synchronously play audio and video streams. 
MediaSync.Callback MediaSync callback interface. 
MediaSyncEvent The MediaSyncEvent class defines events that can be used to synchronize playback or capture actions between different players and recorders. 
MediaTimestamp An immutable object that represents the linear correlation between the media time and the system time. 
MicrophoneInfo Class providing information on a microphone. 
MicrophoneInfo.Coordinate3F  
PlaybackParams Structure for common playback params. 
Rating A class to encapsulate rating information used as content metadata. 
RemoteControlClient This class was deprecated in API level 21. Use MediaSession instead. 
RemoteControlClient.MetadataEditor This class was deprecated in API level 21. Use MediaMetadata and MediaSession instead. 
RemoteController This class was deprecated in API level 21. Use MediaController instead. 
RemoteController.MetadataEditor A class to read the metadata published by a RemoteControlClient, or send a RemoteControlClient new values for keys that can be edited. 
Ringtone Ringtone provides a quick method for playing a ringtone, notification, or other similar types of sounds. 
RingtoneManager RingtoneManager provides access to ringtones, notification, and other types of sounds. 
RouteDiscoveryPreference A media route discovery preference describing the features of routes that media router would like to discover and whether to perform active scanning. 
RouteDiscoveryPreference.Builder Builder for RouteDiscoveryPreference
RouteListingPreference Allows applications to customize the list of routes used for media routing (for example, in the System UI Output Switcher). 
RouteListingPreference.Builder Builder for RouteListingPreference
RouteListingPreference.Item Holds preference information for a specific route in a RouteListingPreference
RouteListingPreference.Item.Builder Builder for Item
RoutingSessionInfo Describes a routing session which is created when a media route is selected. 
RoutingSessionInfo.Builder Builder class for RoutingSessionInfo
Session2Command This API is not generally intended for third party application developers. 
Session2Command.Result This API is not generally intended for third party application developers. 
Session2CommandGroup This API is not generally intended for third party application developers. 
Session2CommandGroup.Builder This API is not generally intended for third party application developers. 
Session2Token This API is not generally intended for third party application developers. 
SoundPool The SoundPool class manages and plays audio resources for applications. 
SoundPool.Builder Builder class for SoundPool objects. 
Spatializer Spatializer provides access to querying capabilities and behavior of sound spatialization on the device. 
SubtitleData Class encapsulating subtitle data, as received through the MediaPlayer.OnSubtitleDataListener interface. 
SyncParams Structure for common A/V sync params. 
ThumbnailUtils Utilities for generating visual thumbnails from files. 
TimedMetaData Class that embodies one timed metadata access unit, including
  • a time stamp, and
  • raw uninterpreted byte-array extracted directly from the container. 
TimedText Class to hold the timed text's metadata, including:
  • The characters for rendering
  • The rendering position for the timed text

To render the timed text, applications need to do the following:

 
ToneGenerator This class provides methods to play DTMF tones (ITU-T Recommendation Q.23), call supervisory tones (3GPP TS 22.001, CEPT) and proprietary tones (3GPP TS 31.111). 
VolumeProvider Handles requests to adjust or set the volume on a session. 
VolumeShaper The VolumeShaper class is used to automatically control audio volume during media playback, allowing simple implementation of transition effects and ducking. 
VolumeShaper.Configuration The VolumeShaper.Configuration class contains curve and duration information. 
VolumeShaper.Configuration.Builder Builder class for a VolumeShaper.Configuration object. 
VolumeShaper.Operation The VolumeShaper.Operation class is used to specify operations to the VolumeShaper that affect the volume change. 

Exceptions

DeniedByServerException Exception thrown when the provisioning server or key server denies a certficate or license for a device. 
MediaCasException Base class for MediaCas exceptions 
MediaCasException.DeniedByServerException Exception thrown when the provisioning server or key server denies a license for a device. 
MediaCasException.InsufficientResourceException Exception thrown when an operation on a MediaCas object is attempted and hardware resources are not sufficient to allocate, due to client's lower priority. 
MediaCasException.NotProvisionedException Exception thrown when an operation on a MediaCas object is attempted before it's provisioned successfully. 
MediaCasException.ResourceBusyException Exception thrown when an operation on a MediaCas object is attempted and hardware resources are not available, due to being in use. 
MediaCasException.UnsupportedCasException Exception thrown when an attempt is made to construct a MediaCas object using a CA_system_id that is not supported by the device 
MediaCasStateException Base class for MediaCas runtime exceptions 
MediaCodec.CodecException Thrown when an internal codec error occurs. 
MediaCodec.CryptoException Thrown when a crypto error occurs while queueing a secure input buffer. 
MediaCodec.IncompatibleWithBlockModelException Thrown when the codec is configured for block model and an incompatible API is called. 
MediaCodec.InvalidBufferFlagsException Thrown when a buffer is marked with an invalid combination of flags (e.g. both MediaCodec.BUFFER_FLAG_END_OF_STREAM and MediaCodec.BUFFER_FLAG_DECODE_ONLY
MediaCryptoException Exception thrown if MediaCrypto object could not be instantiated or if unable to perform an operation on the MediaCrypto object. 
MediaDrm.MediaDrmStateException Thrown when a general failure occurs during a MediaDrm operation. 
MediaDrm.SessionException SessionException is a misnomer because it may occur in methods without a session context. 
MediaDrmException Base class for MediaDrm exceptions 
MediaDrmResetException This exception is thrown when the MediaDrm instance has become unusable due to a restart of the mediaserver process. 
MediaParser.ParsingException Thrown when an error occurs while parsing a media stream. 
MediaParser.UnrecognizedInputFormatException Thrown if all parser implementations provided to MediaParser.create(OutputConsumer, String) failed to sniff the input content. 
MediaPlayer.NoDrmSchemeException Thrown when a DRM method is called before preparing a DRM scheme through prepareDrm(). 
MediaPlayer.ProvisioningNetworkErrorException Thrown when the device requires DRM provisioning but the provisioning attempt has failed due to a network error (Internet reachability, timeout, etc.). 
MediaPlayer.ProvisioningServerErrorException Thrown when the device requires DRM provisioning but the provisioning attempt has failed due to the provisioning server denying the request. 
NotProvisionedException Exception thrown when an operation on a MediaDrm object is attempted and the device does not have a certificate. 
ResourceBusyException Exception thrown when an operation on a MediaDrm object is attempted and hardware resources are not available, due to being in use. 
UnsupportedSchemeException Exception thrown when an attempt is made to construct a MediaDrm object using a crypto scheme UUID that is not supported by the device