Fields Summary |
---|
public static final String | MIMETYPE_VIDEO_VP8 |
public static final String | MIMETYPE_VIDEO_VP9 |
public static final String | MIMETYPE_VIDEO_AVC |
public static final String | MIMETYPE_VIDEO_HEVC |
public static final String | MIMETYPE_VIDEO_MPEG4 |
public static final String | MIMETYPE_VIDEO_H263 |
public static final String | MIMETYPE_VIDEO_MPEG2 |
public static final String | MIMETYPE_VIDEO_RAW |
public static final String | MIMETYPE_AUDIO_AMR_NB |
public static final String | MIMETYPE_AUDIO_AMR_WB |
public static final String | MIMETYPE_AUDIO_MPEG |
public static final String | MIMETYPE_AUDIO_AAC |
public static final String | MIMETYPE_AUDIO_QCELP |
public static final String | MIMETYPE_AUDIO_VORBIS |
public static final String | MIMETYPE_AUDIO_OPUS |
public static final String | MIMETYPE_AUDIO_G711_ALAW |
public static final String | MIMETYPE_AUDIO_G711_MLAW |
public static final String | MIMETYPE_AUDIO_RAW |
public static final String | MIMETYPE_AUDIO_FLAC |
public static final String | MIMETYPE_AUDIO_MSGSM |
public static final String | MIMETYPE_AUDIO_AC3 |
public static final String | MIMETYPE_AUDIO_EAC3 |
public static final String | MIMETYPE_TEXT_VTTMIME type for WebVTT subtitle data. |
public static final String | MIMETYPE_TEXT_CEA_608MIME type for CEA-608 closed caption data. |
private Map | mMap |
public static final String | KEY_MIMEA key describing the mime type of the MediaFormat.
The associated value is a string. |
public static final String | KEY_LANGUAGEA key describing the language of the content, using either ISO 639-1
or 639-2/T codes. The associated value is a string. |
public static final String | KEY_SAMPLE_RATEA key describing the sample rate of an audio format.
The associated value is an integer |
public static final String | KEY_CHANNEL_COUNTA key describing the number of channels in an audio format.
The associated value is an integer |
public static final String | KEY_WIDTHA key describing the width of the content in a video format.
The associated value is an integer |
public static final String | KEY_HEIGHTA key describing the height of the content in a video format.
The associated value is an integer |
public static final String | KEY_MAX_WIDTHA key describing the maximum expected width of the content in a video
decoder format, in case there are resolution changes in the video content.
The associated value is an integer |
public static final String | KEY_MAX_HEIGHTA key describing the maximum expected height of the content in a video
decoder format, in case there are resolution changes in the video content.
The associated value is an integer |
public static final String | KEY_MAX_INPUT_SIZEA key describing the maximum size in bytes of a buffer of data
described by this MediaFormat.
The associated value is an integer |
public static final String | KEY_BIT_RATEA key describing the bitrate in bits/sec.
The associated value is an integer |
public static final String | KEY_COLOR_FORMATA key describing the color format of the content in a video format.
Constants are declared in {@link android.media.MediaCodecInfo.CodecCapabilities}. |
public static final String | KEY_FRAME_RATEA key describing the frame rate of a video format in frames/sec.
The associated value is an integer or a float. |
public static final String | KEY_CAPTURE_RATEA key describing the capture rate of a video format in frames/sec.
When capture rate is different than the frame rate, it means that the
video is acquired at a different rate than the playback, which produces
slow motion or timelapse effect during playback. Application can use the
value of this key to tell the relative speed ratio between capture and
playback rates when the video was recorded.
The associated value is an integer or a float.
|
public static final String | KEY_I_FRAME_INTERVALA key describing the frequency of I frames expressed in secs
between I frames.
The associated value is an integer. |
public static final String | KEY_TEMPORAL_LAYERINGA key describing the temporal layering schema. This is an optional parameter
that applies only to video encoders. Use {@link MediaCodec#getInputFormat}
after {@link MediaCodec#configure configure} to query if the encoder supports
the desired schema. Supported values are {@code webrtc.vp8.1-layer},
{@code webrtc.vp8.2-layer}, {@code webrtc.vp8.3-layer}, and {@code none}.
If the encoder does not support temporal layering, the input format will
not have an entry with this key.
The associated value is a string. |
public static final String | KEY_STRIDE |
public static final String | KEY_SLICE_HEIGHT |
public static final String | KEY_REPEAT_PREVIOUS_FRAME_AFTERApplies only when configuring a video encoder in "surface-input" mode.
The associated value is a long and gives the time in microseconds
after which the frame previously submitted to the encoder will be
repeated (once) if no new frame became available since. |
public static final String | KEY_PUSH_BLANK_BUFFERS_ON_STOPIf specified when configuring a video decoder rendering to a surface,
causes the decoder to output "blank", i.e. black frames to the surface
when stopped to clear out any previously displayed contents.
The associated value is an integer of value 1. |
public static final String | KEY_DURATIONA key describing the duration (in microseconds) of the content.
The associated value is a long. |
public static final String | KEY_IS_ADTSA key mapping to a value of 1 if the content is AAC audio and
audio frames are prefixed with an ADTS header.
The associated value is an integer (0 or 1).
This key is only supported when _decoding_ content, it cannot
be used to configure an encoder to emit ADTS output. |
public static final String | KEY_CHANNEL_MASKA key describing the channel composition of audio content. This mask
is composed of bits drawn from channel mask definitions in {@link android.media.AudioFormat}.
The associated value is an integer. |
public static final String | KEY_AAC_PROFILEA key describing the AAC profile to be used (AAC audio formats only).
Constants are declared in {@link android.media.MediaCodecInfo.CodecProfileLevel}. |
public static final String | KEY_AAC_SBR_MODEA key describing the AAC SBR mode to be used (AAC audio formats only).
The associated value is an integer and can be set to following values:
- 0 - no SBR should be applied
- 1 - single rate SBR
- 2 - double rate SBR
Note: If this key is not defined the default SRB mode for the desired AAC profile will
be used.
This key is only used during encoding. |
public static final String | KEY_AAC_MAX_OUTPUT_CHANNEL_COUNTA key describing the maximum number of channels that can be output by the AAC decoder.
By default, the decoder will output the same number of channels as present in the encoded
stream, if supported. Set this value to limit the number of output channels, and use
the downmix information in the stream, if available.
Values larger than the number of channels in the content to decode are ignored.
This key is only used during decoding. |
public static final String | KEY_AAC_DRC_TARGET_REFERENCE_LEVELA key describing a gain to be applied so that the output loudness matches the
Target Reference Level. This is typically used to normalize loudness across program items.
The gain is derived as the difference between the Target Reference Level and the
Program Reference Level. The latter can be given in the bitstream and indicates the actual
loudness value of the program item.
The value is given as an integer value between
0 and 127, and is calculated as -0.25 * Target Reference Level in dBFS.
Therefore, it represents the range of Full Scale (0 dBFS) to -31.75 dBFS.
This key is only used during decoding. |
public static final String | KEY_AAC_ENCODED_TARGET_LEVELA key describing the target reference level that was assumed at the encoder for
calculation of attenuation gains for clipping prevention. This information can be provided
if it is known, otherwise a worst-case assumption is used.
The value is given as an integer value between
0 and 127, and is calculated as -0.25 * Target Reference Level in dBFS.
Therefore, it represents the range of Full Scale (0 dBFS) to -31.75 dBFS.
The default value is the worst-case assumption of 127.
The value is ignored when heavy compression is used (see
{@link #KEY_AAC_DRC_HEAVY_COMPRESSION}).
This key is only used during decoding. |
public static final String | KEY_AAC_DRC_BOOST_FACTORA key describing the boost factor allowing to adapt the dynamics of the output to the
actual listening requirements. This relies on DRC gain sequences that can be transmitted in
the encoded bitstream to be able to reduce the dynamics of the output signal upon request.
This factor enables the user to select how much of the gains are applied.
Positive gains (boost) and negative gains (attenuation, see
{@link #KEY_AAC_DRC_ATTENUATION_FACTOR}) can be controlled separately for a better match
to different use-cases.
Typically, attenuation gains are sent for loud signal segments, and boost gains are sent
for soft signal segments. If the output is listened to in a noisy environment, for example,
the boost factor is used to enable the positive gains, i.e. to amplify soft signal segments
beyond the noise floor. But for listening late at night, the attenuation
factor is used to enable the negative gains, to prevent loud signal from surprising
the listener. In applications which generally need a low dynamic range, both the boost factor
and the attenuation factor are used in order to enable all DRC gains.
In order to prevent clipping, it is also recommended to apply the attenuation factors
in case of a downmix and/or loudness normalization to high target reference levels.
Both the boost and the attenuation factor parameters are given as integer values
between 0 and 127, representing the range of the factor of 0 (i.e. don't apply)
to 1 (i.e. fully apply boost/attenuation factors respectively).
This key is only used during decoding. |
public static final String | KEY_AAC_DRC_ATTENUATION_FACTORA key describing the attenuation factor allowing to adapt the dynamics of the output to the
actual listening requirements.
See {@link #KEY_AAC_DRC_BOOST_FACTOR} for a description of the role of this attenuation
factor and the value range.
This key is only used during decoding. |
public static final String | KEY_AAC_DRC_HEAVY_COMPRESSIONA key describing the selection of the heavy compression profile for DRC.
Two separate DRC gain sequences can be transmitted in one bitstream: MPEG-4 DRC light
compression, and DVB-specific heavy compression. When selecting the application of the heavy
compression, one of the sequences is selected:
- 0 enables light compression,
- 1 enables heavy compression instead.
Note that only light compression offers the features of scaling of DRC gains
(see {@link #KEY_AAC_DRC_BOOST_FACTOR} and {@link #KEY_AAC_DRC_ATTENUATION_FACTOR} for the
boost and attenuation factors, and frequency-selective (multiband) DRC.
Light compression usually contains clipping prevention for stereo downmixing while heavy
compression, if additionally provided in the bitstream, is usually stronger, and contains
clipping prevention for stereo and mono downmixing.
The default is light compression.
This key is only used during decoding. |
public static final String | KEY_FLAC_COMPRESSION_LEVELA key describing the FLAC compression level to be used (FLAC audio format only).
The associated value is an integer ranging from 0 (fastest, least compression)
to 8 (slowest, most compression). |
public static final String | KEY_COMPLEXITYA key describing the encoding complexity.
The associated value is an integer. These values are device and codec specific,
but lower values generally result in faster and/or less power-hungry encoding. |
public static final String | KEY_QUALITYA key describing the desired encoding quality.
The associated value is an integer. This key is only supported for encoders
that are configured in constant-quality mode. These values are device and
codec specific, but lower values generally result in more efficient
(smaller-sized) encoding. |
public static final String | KEY_PROFILEA key describing the desired profile to be used by an encoder.
Constants are declared in {@link MediaCodecInfo.CodecProfileLevel}.
This key is only supported for codecs that specify a profile. |
public static final String | KEY_BITRATE_MODEA key describing the desired bitrate mode to be used by an encoder.
Constants are declared in {@link MediaCodecInfo.CodecCapabilities}. |
public static final String | KEY_AUDIO_SESSION_IDA key describing the audio session ID of the AudioTrack associated
to a tunneled video codec.
The associated value is an integer. |
public static final String | KEY_IS_AUTOSELECTA key for boolean AUTOSELECT behavior for the track. Tracks with AUTOSELECT=true
are considered when automatically selecting a track without specific user
choice, based on the current locale.
This is currently only used for subtitle tracks, when the user selected
'Default' for the captioning locale.
The associated value is an integer, where non-0 means TRUE. This is an optional
field; if not specified, AUTOSELECT defaults to TRUE. |
public static final String | KEY_IS_DEFAULTA key for boolean DEFAULT behavior for the track. The track with DEFAULT=true is
selected in the absence of a specific user choice.
This is currently only used for subtitle tracks, when the user selected
'Default' for the captioning locale.
The associated value is an integer, where non-0 means TRUE. This is an optional
field; if not specified, DEFAULT is considered to be FALSE. |
public static final String | KEY_IS_FORCED_SUBTITLEA key for the FORCED field for subtitle tracks. True if it is a
forced subtitle track. Forced subtitle tracks are essential for the
content and are shown even when the user turns off Captions. They
are used for example to translate foreign/alien dialogs or signs.
The associated value is an integer, where non-0 means TRUE. This is an
optional field; if not specified, FORCED defaults to FALSE. |
public static final String | KEY_IS_TIMED_TEXT |
public static final String | KEY_FEATURE_A key prefix used together with a {@link MediaCodecInfo.CodecCapabilities}
feature name describing a required or optional feature for a codec capabilities
query.
The associated value is an integer, where non-0 value means the feature is
requested to be present, while 0 value means the feature is requested to be not
present. |
Methods Summary |
---|
public final boolean | containsKey(java.lang.String name)Returns true iff a key of the given name exists in the format.
return mMap.containsKey(name);
|
public static final android.media.MediaFormat | createAudioFormat(java.lang.String mime, int sampleRate, int channelCount)Creates a minimal audio format.
MediaFormat format = new MediaFormat();
format.setString(KEY_MIME, mime);
format.setInteger(KEY_SAMPLE_RATE, sampleRate);
format.setInteger(KEY_CHANNEL_COUNT, channelCount);
return format;
|
public static final android.media.MediaFormat | createSubtitleFormat(java.lang.String mime, java.lang.String language)Creates a minimal subtitle format.
MediaFormat format = new MediaFormat();
format.setString(KEY_MIME, mime);
format.setString(KEY_LANGUAGE, language);
return format;
|
public static final android.media.MediaFormat | createVideoFormat(java.lang.String mime, int width, int height)Creates a minimal video format.
MediaFormat format = new MediaFormat();
format.setString(KEY_MIME, mime);
format.setInteger(KEY_WIDTH, width);
format.setInteger(KEY_HEIGHT, height);
return format;
|
public final java.nio.ByteBuffer | getByteBuffer(java.lang.String name)Returns the value of a ByteBuffer key.
return (ByteBuffer)mMap.get(name);
|
public boolean | getFeatureEnabled(java.lang.String feature)Returns whether a feature is to be enabled ({@code true}) or disabled
({@code false}).
Integer enabled = (Integer)mMap.get(KEY_FEATURE_ + feature);
if (enabled == null) {
throw new IllegalArgumentException("feature is not specified");
}
return enabled != 0;
|
public final float | getFloat(java.lang.String name)Returns the value of a float key.
return ((Float)mMap.get(name)).floatValue();
|
public final int | getInteger(java.lang.String name)Returns the value of an integer key.
return ((Integer)mMap.get(name)).intValue();
|
public final int | getInteger(java.lang.String name, int defaultValue)Returns the value of an integer key, or the default value if the
key is missing or is for another type value.
try {
return getInteger(name);
}
catch (NullPointerException e) { /* no such field */ }
catch (ClassCastException e) { /* field of different type */ }
return defaultValue;
|
public final long | getLong(java.lang.String name)Returns the value of a long key.
return ((Long)mMap.get(name)).longValue();
|
java.util.Map | getMap()
return mMap;
|
public final java.lang.String | getString(java.lang.String name)Returns the value of a string key.
return (String)mMap.get(name);
|
public final void | setByteBuffer(java.lang.String name, java.nio.ByteBuffer bytes)Sets the value of a ByteBuffer key.
mMap.put(name, bytes);
|
public void | setFeatureEnabled(java.lang.String feature, boolean enabled)Sets whether a feature is to be enabled ({@code true}) or disabled
({@code false}).
If {@code enabled} is {@code true}, the feature is requested to be present.
Otherwise, the feature is requested to be not present.
setInteger(KEY_FEATURE_ + feature, enabled ? 1 : 0);
|
public final void | setFloat(java.lang.String name, float value)Sets the value of a float key.
mMap.put(name, new Float(value));
|
public final void | setInteger(java.lang.String name, int value)Sets the value of an integer key.
mMap.put(name, new Integer(value));
|
public final void | setLong(java.lang.String name, long value)Sets the value of a long key.
mMap.put(name, new Long(value));
|
public final void | setString(java.lang.String name, java.lang.String value)Sets the value of a string key.
mMap.put(name, value);
|
public java.lang.String | toString()
return mMap.toString();
|