Android APIs
public final class

MediaCodecList

extends Object
java.lang.Object
   ↳ android.media.MediaCodecList

Class Overview

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.

See MediaCodecInfo for sample usage.

Summary

Constants
int ALL_CODECS Use in MediaCodecList(int) to enumerate all codecs, even ones that are not suitable for regular (buffer-to-buffer) decoding or encoding.
int REGULAR_CODECS Use in MediaCodecList(int) to enumerate only codecs that are suitable for regular (buffer-to-buffer) decoding or encoding.
Public Constructors
MediaCodecList(int kind)
Create a list of media-codecs of a specific kind.
Public Methods
final String findDecoderForFormat(MediaFormat format)
Find a decoder supporting a given MediaFormat in the list of media-codecs.
final String findEncoderForFormat(MediaFormat format)
Find an encoder supporting a given MediaFormat in the list of media-codecs.
final static int getCodecCount()
This method was deprecated in API level 21. Use getCodecInfos() instead.
final static MediaCodecInfo getCodecInfoAt(int index)
This method was deprecated in API level 21. Use getCodecInfos() instead.
final MediaCodecInfo[] getCodecInfos()
Returns the list of MediaCodecInfo objects for the list of media-codecs.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int ALL_CODECS

Added in API level 21

Use in MediaCodecList(int) to enumerate all codecs, even ones that are not suitable for regular (buffer-to-buffer) decoding or encoding. These include codecs, for example, that only work with special input or output surfaces, such as secure-only or tunneled-only codecs.

Constant Value: 1 (0x00000001)

public static final int REGULAR_CODECS

Added in API level 21

Use in MediaCodecList(int) to enumerate only codecs that are suitable for regular (buffer-to-buffer) decoding or encoding. NOTE: These are the codecs that are returned prior to API 21, using the now deprecated static methods.

Constant Value: 0 (0x00000000)

Public Constructors

public MediaCodecList (int kind)

Added in API level 21

Create a list of media-codecs of a specific kind.

Parameters
kind Either REGULAR_CODECS or ALL_CODECS.

Public Methods

public final String findDecoderForFormat (MediaFormat format)

Added in API level 21

Find a decoder supporting a given MediaFormat in the list of media-codecs.

Parameters
format A decoder media format with optional feature directives.
Returns
  • the name of a decoder that supports the given format and feature requests, or null if no such codec has been found.
Throws
IllegalArgumentException if format is not a valid media format.
NullPointerException if format is null.

public final String findEncoderForFormat (MediaFormat format)

Added in API level 21

Find an encoder supporting a given MediaFormat in the list of media-codecs.

Parameters
format An encoder media format with optional feature directives.
Returns
  • the name of an encoder that supports the given format and feature requests, or null if no such codec has been found.
Throws
IllegalArgumentException if format is not a valid media format.
NullPointerException if format is null.

public static final int getCodecCount ()

Added in API level 16

This method was deprecated in API level 21.
Use getCodecInfos() instead.

Count the number of available (regular) codecs.

See Also

public static final MediaCodecInfo getCodecInfoAt (int index)

Added in API level 16

This method was deprecated in API level 21.
Use getCodecInfos() instead.

Return the MediaCodecInfo object for the codec at the given index in the regular list.

See Also

public final MediaCodecInfo[] getCodecInfos ()

Added in API level 21

Returns the list of MediaCodecInfo objects for the list of media-codecs.