Back to Exoplayer

MediaCodecInfo (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html

latest20.4 KB
Original Source

Package com.google.android.exoplayer2.mediacodec

Class MediaCodecInfo


[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public final classMediaCodecInfoextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")

Deprecated. com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.

Information about a MediaCodec for a given MIME type.

Field Summary

Fields | Modifier and Type | Field | Description | | --- | --- | --- | | boolean | adaptive | Deprecated.

Whether the decoder supports seamless resolution switches. | | MediaCodecInfo.CodecCapabilities | capabilities | Deprecated.

The capabilities of the decoder, like the profiles/levels it supports, or null if not known. | | String | codecMimeType | Deprecated.

The MIME type that the codec uses for media of type mimeType. | | boolean | hardwareAccelerated | Deprecated.

Whether the codec is hardware accelerated. | | static int | MAX_SUPPORTED_INSTANCES_UNKNOWN | Deprecated.

The value returned by getMaxSupportedInstances() if the upper bound on the maximum number of supported instances is unknown. | | String | mimeType | Deprecated.

The MIME type handled by the codec. | | String | name | Deprecated.

The name of the decoder. | | boolean | secure | Deprecated.

Whether the decoder is secure. | | boolean | softwareOnly | Deprecated.

Whether the codec is software only. | | static String | TAG | Deprecated. | | boolean | tunneling | Deprecated.

Whether the decoder supports tunneling. | | boolean | vendor | Deprecated.

Whether the codec is from the vendor. |

Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods | Modifier and Type | Method | Description | | --- | --- | --- | | Point | alignVideoSizeV21​(int width, int height) | Deprecated.

Returns the smallest video size greater than or equal to a specified size that also satisfies the MediaCodec's width and height alignment requirements. | | DecoderReuseEvaluation | canReuseCodec​(Format oldFormat, Format newFormat) | Deprecated.

Evaluates whether it's possible to reuse an instance of this decoder that's currently decoding oldFormat to decode newFormat instead. | | int | getMaxSupportedInstances() | Deprecated.

Returns an upper bound on the maximum number of supported instances, or MAX_SUPPORTED_INSTANCES_UNKNOWN if unknown. | | MediaCodecInfo.CodecProfileLevel[] | getProfileLevels() | Deprecated.

The profile levels supported by the decoder. | | boolean | isAudioChannelCountSupportedV21​(int channelCount) | Deprecated.

Whether the decoder supports audio with a given channel count. | | boolean | isAudioSampleRateSupportedV21​(int sampleRate) | Deprecated.

Whether the decoder supports audio with a given sample rate. | | boolean | isFormatFunctionallySupported​(Format format) | Deprecated.

Returns whether the decoder may functionally support decoding the given format. | | boolean | isFormatSupported​(Format format) | Deprecated.

Returns whether the decoder may support decoding the given format both functionally and performantly. | | boolean | isHdr10PlusOutOfBandMetadataSupported() | Deprecated.

Whether the codec handles HDR10+ out-of-band metadata. | | boolean | isSeamlessAdaptationSupported​(Format format) | Deprecated.

Returns whether it may be possible to adapt an instance of this decoder to playing a different format when the codec is configured to play media in the specified format. | | boolean | isSeamlessAdaptationSupported​(Format oldFormat, Format newFormat, boolean isNewFormatComplete) | Deprecated. Use canReuseCodec(com.google.android.exoplayer2.Format, com.google.android.exoplayer2.Format).

| | boolean | isVideoSizeAndRateSupportedV21​(int width, int height, double frameRate) | Deprecated.

Whether the decoder supports video with a given width, height and frame rate. | | static MediaCodecInfo | newInstance​(String name, String mimeType, String codecMimeType, MediaCodecInfo.CodecCapabilities capabilities, boolean hardwareAccelerated, boolean softwareOnly, boolean vendor, boolean forceDisableAdaptive, boolean forceSecure) | Deprecated.

Creates an instance. | | String | toString() | Deprecated. |

- 

Methods inherited from class java.lang.Object

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

Field Detail

- 

TAG

public static final[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")TAG

Deprecated. See Also:Constant Field Values

- 

MAX_SUPPORTED_INSTANCES_UNKNOWN

public static final int MAX_SUPPORTED_INSTANCES_UNKNOWN

Deprecated.

The value returned by getMaxSupportedInstances() if the upper bound on the maximum number of supported instances is unknown. See Also:Constant Field Values

- 

name

public final[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")name

Deprecated.

The name of the decoder.

May be passed to MediaCodec.createByCodecName(String) to create an instance of the decoder.

- 

mimeType

public final[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")mimeType

Deprecated.

The MIME type handled by the codec.

- 

codecMimeType

public final[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")codecMimeType

Deprecated.

The MIME type that the codec uses for media of type mimeType. Equal to mimeType unless the codec is known to use a non-standard MIME type alias.

- 

capabilities

@Nullable
public final[MediaCodecInfo.CodecCapabilities](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html "class or interface in android.media")capabilities

Deprecated.

The capabilities of the decoder, like the profiles/levels it supports, or null if not known.

- 

adaptive

public final boolean adaptive

Deprecated.

Whether the decoder supports seamless resolution switches. See Also:MediaCodecInfo.CodecCapabilities.isFeatureSupported(String), MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback

- 

tunneling

public final boolean tunneling

Deprecated.

Whether the decoder supports tunneling. See Also:MediaCodecInfo.CodecCapabilities.isFeatureSupported(String), MediaCodecInfo.CodecCapabilities.FEATURE_TunneledPlayback

- 

secure

public final boolean secure

Deprecated.

Whether the decoder is secure. See Also:MediaCodecInfo.CodecCapabilities.isFeatureSupported(String), MediaCodecInfo.CodecCapabilities.FEATURE_SecurePlayback

- 

hardwareAccelerated

public final boolean hardwareAccelerated

Deprecated.

Whether the codec is hardware accelerated.

This could be an approximation as the exact information is only provided in API levels 29+.

See Also:MediaCodecInfo.isHardwareAccelerated()

- 

softwareOnly

public final boolean softwareOnly

Deprecated.

Whether the codec is software only.

This could be an approximation as the exact information is only provided in API levels 29+.

See Also:MediaCodecInfo.isSoftwareOnly()

- 

vendor

public final boolean vendor

Deprecated.

Whether the codec is from the vendor.

This could be an approximation as the exact information is only provided in API levels 29+.

See Also:MediaCodecInfo.isVendor()

Method Detail

- 

newInstance

public static[MediaCodecInfo](MediaCodecInfo.html "class in com.google.android.exoplayer2.mediacodec")newInstance​([String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")name,[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")mimeType,[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")codecMimeType,
                                         @Nullable[MediaCodecInfo.CodecCapabilities](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html "class or interface in android.media")capabilities,
                                         boolean hardwareAccelerated,
                                         boolean softwareOnly,
                                         boolean vendor,
                                         boolean forceDisableAdaptive,
                                         boolean forceSecure)

Deprecated.

Creates an instance. Parameters:name - The name of the MediaCodec.mimeType - A MIME type supported by the MediaCodec.codecMimeType - The MIME type that the codec uses for media of type #mimeType. Equal to mimeType unless the codec is known to use a non-standard MIME type alias.capabilities - The capabilities of the MediaCodec for the specified MIME type, or null if not known.hardwareAccelerated - Whether the MediaCodec is hardware accelerated.softwareOnly - Whether the MediaCodec is software only.vendor - Whether the MediaCodec is provided by the vendor.forceDisableAdaptive - Whether adaptive should be forced to false.forceSecure - Whether secure should be forced to true.Returns:The created instance.

- 

toString

public[String](https://developer.android.com/reference/java/lang/String.html "class or interface in java.lang")toString()

Deprecated. Overrides:toString in class Object

- 

getProfileLevels

public[MediaCodecInfo.CodecProfileLevel](https://developer.android.com/reference/android/media/MediaCodecInfo.CodecProfileLevel.html "class or interface in android.media")[] getProfileLevels()

Deprecated.

The profile levels supported by the decoder. Returns:The profile levels supported by the decoder.

- 

getMaxSupportedInstances

public int getMaxSupportedInstances()

Deprecated.

Returns an upper bound on the maximum number of supported instances, or MAX_SUPPORTED_INSTANCES_UNKNOWN if unknown. Applications should not expect to operate more instances than the returned maximum. See Also:MediaCodecInfo.CodecCapabilities.getMaxSupportedInstances()

- 

isFormatSupported

public boolean isFormatSupported​([Format](../Format.html "class in com.google.android.exoplayer2")format)
                          throws[MediaCodecUtil.DecoderQueryException](MediaCodecUtil.DecoderQueryException.html "class in com.google.android.exoplayer2.mediacodec")

Deprecated.

Returns whether the decoder may support decoding the given format both functionally and performantly. Parameters:format - The input media format.Returns:Whether the decoder may support decoding the given format.Throws:MediaCodecUtil.DecoderQueryException - Thrown if an error occurs while querying decoders.

- 

isFormatFunctionallySupported

public boolean isFormatFunctionallySupported​([Format](../Format.html "class in com.google.android.exoplayer2")format)

Deprecated.

Returns whether the decoder may functionally support decoding the given format. Parameters:format - The input media format.Returns:Whether the decoder may functionally support decoding the given format.

- 

isHdr10PlusOutOfBandMetadataSupported

public boolean isHdr10PlusOutOfBandMetadataSupported()

Deprecated.

Whether the codec handles HDR10+ out-of-band metadata.

- 

isSeamlessAdaptationSupported

public boolean isSeamlessAdaptationSupported​([Format](../Format.html "class in com.google.android.exoplayer2")format)

Deprecated.

Returns whether it may be possible to adapt an instance of this decoder to playing a different format when the codec is configured to play media in the specified format.

For adaptation to succeed, the codec must also be configured with appropriate maximum values and isSeamlessAdaptationSupported(Format, Format, boolean) must return true for the old/new formats.

Parameters:format - The format of media for which the decoder will be configured.Returns:Whether adaptation may be possible

- 

isSeamlessAdaptationSupported

[@Deprecated](https://developer.android.com/reference/java/lang/Deprecated.html "class or interface in java.lang")public boolean isSeamlessAdaptationSupported​([Format](../Format.html "class in com.google.android.exoplayer2")oldFormat,[Format](../Format.html "class in com.google.android.exoplayer2")newFormat,
                                             boolean isNewFormatComplete)

Deprecated. Use canReuseCodec(com.google.android.exoplayer2.Format, com.google.android.exoplayer2.Format).

Returns whether it is possible to adapt an instance of this decoder seamlessly from oldFormat to newFormat. If newFormat may not be completely populated, pass false for isNewFormatComplete.

For adaptation to succeed, the codec must also be configured with maximum values that are compatible with the new format.

Parameters:oldFormat - The format being decoded.newFormat - The new format.isNewFormatComplete - Whether newFormat is populated with format-specific metadata.Returns:Whether it is possible to adapt the decoder seamlessly.

- 

canReuseCodec

public[DecoderReuseEvaluation](../decoder/DecoderReuseEvaluation.html "class in com.google.android.exoplayer2.decoder")canReuseCodec​([Format](../Format.html "class in com.google.android.exoplayer2")oldFormat,[Format](../Format.html "class in com.google.android.exoplayer2")newFormat)

Deprecated.

Evaluates whether it's possible to reuse an instance of this decoder that's currently decoding oldFormat to decode newFormat instead.

For adaptation to succeed, the codec must also be configured with maximum values that are compatible with the new format.

Parameters:oldFormat - The format being decoded.newFormat - The new format.Returns:The result of the evaluation.

- 

isVideoSizeAndRateSupportedV21

@RequiresApi(21)
public boolean isVideoSizeAndRateSupportedV21​(int width,
                                              int height,
                                              double frameRate)

Deprecated.

Whether the decoder supports video with a given width, height and frame rate. Parameters:width - Width in pixels.height - Height in pixels.frameRate - Optional frame rate in frames per second. Ignored if set to Format.NO_VALUE or any value less than or equal to 0.Returns:Whether the decoder supports video with the given width, height and frame rate.

- 

alignVideoSizeV21

@Nullable
@RequiresApi(21)
public[Point](https://developer.android.com/reference/android/graphics/Point.html "class or interface in android.graphics")alignVideoSizeV21​(int width,
                               int height)

Deprecated.

Returns the smallest video size greater than or equal to a specified size that also satisfies the MediaCodec's width and height alignment requirements.

Must not be called if the device SDK version is less than 21.

Parameters:width - Width in pixels.height - Height in pixels.Returns:The smallest video size greater than or equal to the specified size that also satisfies the MediaCodec's width and height alignment requirements, or null if not a video codec.

- 

isAudioSampleRateSupportedV21

@RequiresApi(21)
public boolean isAudioSampleRateSupportedV21​(int sampleRate)

Deprecated.

Whether the decoder supports audio with a given sample rate.

Must not be called if the device SDK version is less than 21.

Parameters:sampleRate - The sample rate in Hz.Returns:Whether the decoder supports audio with the given sample rate.

- 

isAudioChannelCountSupportedV21

@RequiresApi(21)
public boolean isAudioChannelCountSupportedV21​(int channelCount)

Deprecated.

Whether the decoder supports audio with a given channel count.

Must not be called if the device SDK version is less than 21.

Parameters:channelCount - The channel count.Returns:Whether the decoder supports audio with the given channel count.