Parcelablepublic final class Format extends Object implements Parcelable
When building formats, populate all fields whose values are known and relevant to the type of format being constructed. For information about different types of format, see ExoPlayer's Supported formats page.
containerMimeType
sampleMimeType
maxInputSize
initializationData
drmInitData
subsampleOffsetUs
| Modifier and Type | Class | Description |
|---|---|---|
static class |
Format.Builder |
Builds
Format instances. |
Parcelable.ClassLoaderCreator<T extends Object>, Parcelable.Creator<T extends Object>| Modifier and Type | Field | Description |
|---|---|---|
int |
accessibilityChannel |
The Accessibility channel, or
NO_VALUE if not known or applicable. |
int |
averageBitrate |
The average bitrate in bits per second, or
NO_VALUE if unknown or not applicable. |
int |
bitrate |
The bitrate in bits per second.
|
int |
channelCount |
The number of audio channels, or
NO_VALUE if unknown or not applicable. |
String |
codecs |
Codecs of the format as described in RFC 6381, or null if unknown or not applicable.
|
ColorInfo |
colorInfo |
The color metadata associated with the video, or null if not applicable.
|
String |
containerMimeType |
The mime type of the container, or null if unknown or not applicable.
|
static Parcelable.Creator<Format> |
CREATOR |
|
DrmInitData |
drmInitData |
DRM initialization data if the stream is protected, or null otherwise.
|
int |
encoderDelay |
The number of frames to trim from the start of the decoded audio stream, or 0 if not
applicable.
|
int |
encoderPadding |
The number of frames to trim from the end of the decoded audio stream, or 0 if not applicable.
|
Class<? extends ExoMediaCrypto> |
exoMediaCryptoType |
The type of
ExoMediaCrypto that will be associated with the content this format
describes, or null if the content is not encrypted. |
float |
frameRate |
The frame rate in frames per second, or
NO_VALUE if unknown or not applicable. |
int |
height |
The height of the video in pixels, or
NO_VALUE if unknown or not applicable. |
String |
id |
An identifier for the format, or null if unknown or not applicable.
|
List<byte[]> |
initializationData |
Initialization data that must be provided to the decoder.
|
String |
label |
The human readable label, or null if unknown or not applicable.
|
String |
language |
The language as an IETF BCP 47 conformant tag, or null if unknown or not applicable.
|
int |
maxInputSize |
The maximum size of a buffer of data (typically one sample), or
NO_VALUE if unknown or
not applicable. |
Metadata |
metadata |
Metadata, or null if unknown or not applicable.
|
static int |
NO_VALUE |
A value for various fields to indicate that the field's value is unknown or not applicable.
|
static long |
OFFSET_SAMPLE_RELATIVE |
A value for
subsampleOffsetUs to indicate that subsample timestamps are relative to
the timestamps of their parent samples. |
int |
pcmEncoding |
The
C.PcmEncoding for PCM audio. |
int |
peakBitrate |
The peak bitrate in bits per second, or
NO_VALUE if unknown or not applicable. |
float |
pixelWidthHeightRatio |
The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable.
|
byte[] |
projectionData |
The projection data for 360/VR video, or null if not applicable.
|
int |
roleFlags |
Track role flags.
|
int |
rotationDegrees |
The clockwise rotation that should be applied to the video for it to be rendered in the correct
orientation, or 0 if unknown or not applicable.
|
String |
sampleMimeType |
The sample mime type, or null if unknown or not applicable.
|
int |
sampleRate |
The audio sampling rate in Hz, or
NO_VALUE if unknown or not applicable. |
int |
selectionFlags |
Track selection flags.
|
int |
stereoMode |
The stereo layout for 360/3D/VR video, or
NO_VALUE if not applicable. |
long |
subsampleOffsetUs |
For samples that contain subsamples, this is an offset that should be added to subsample
timestamps.
|
int |
width |
The width of the video in pixels, or
NO_VALUE if unknown or not applicable. |
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE| Modifier and Type | Method | Description |
|---|---|---|
Format.Builder |
buildUpon() |
Returns a
Format.Builder initialized with the values of this instance. |
Format |
copyWithBitrate(int bitrate) |
Deprecated.
|
Format |
copyWithDrmInitData(DrmInitData drmInitData) |
Deprecated.
|
Format |
copyWithExoMediaCryptoType(Class<? extends ExoMediaCrypto> exoMediaCryptoType) |
Returns a copy of this format with the specified
exoMediaCryptoType. |
Format |
copyWithFrameRate(float frameRate) |
Deprecated.
|
Format |
copyWithGaplessInfo(int encoderDelay,
int encoderPadding) |
Deprecated.
|
Format |
copyWithLabel(String label) |
Deprecated.
Use
buildUpon() and Format.Builder.setLabel(String) . |
Format |
copyWithManifestFormatInfo(Format manifestFormat) |
Deprecated.
|
Format |
copyWithMaxInputSize(int maxInputSize) |
Deprecated.
|
Format |
copyWithMetadata(Metadata metadata) |
Deprecated.
|
Format |
copyWithSubsampleOffsetUs(long subsampleOffsetUs) |
Deprecated.
|
Format |
copyWithVideoSize(int width,
int height) |
Deprecated.
|
static Format |
createAudioContainerFormat(String id,
String label,
String containerMimeType,
String sampleMimeType,
String codecs,
Metadata metadata,
int bitrate,
int channelCount,
int sampleRate,
List<byte[]> initializationData,
int selectionFlags,
int roleFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createAudioSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int channelCount,
int sampleRate,
int pcmEncoding,
int encoderDelay,
int encoderPadding,
List<byte[]> initializationData,
DrmInitData drmInitData,
int selectionFlags,
String language,
Metadata metadata) |
Deprecated.
Use
Format.Builder. |
static Format |
createAudioSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int channelCount,
int sampleRate,
int pcmEncoding,
List<byte[]> initializationData,
DrmInitData drmInitData,
int selectionFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createAudioSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int channelCount,
int sampleRate,
List<byte[]> initializationData,
DrmInitData drmInitData,
int selectionFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createContainerFormat(String id,
String label,
String containerMimeType,
String sampleMimeType,
String codecs,
int bitrate,
int selectionFlags,
int roleFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createImageSampleFormat(String id,
String sampleMimeType,
int selectionFlags,
List<byte[]> initializationData,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createSampleFormat(String id,
String sampleMimeType) |
Deprecated.
Use
Format.Builder. |
static Format |
createTextContainerFormat(String id,
String label,
String containerMimeType,
String sampleMimeType,
String codecs,
int bitrate,
int selectionFlags,
int roleFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createTextContainerFormat(String id,
String label,
String containerMimeType,
String sampleMimeType,
String codecs,
int bitrate,
int selectionFlags,
int roleFlags,
String language,
int accessibilityChannel) |
Deprecated.
Use
Format.Builder. |
static Format |
createTextSampleFormat(String id,
String sampleMimeType,
int selectionFlags,
String language) |
Deprecated.
Use
Format.Builder. |
static Format |
createTextSampleFormat(String id,
String sampleMimeType,
int selectionFlags,
String language,
int accessibilityChannel,
long subsampleOffsetUs,
List<byte[]> initializationData) |
Deprecated.
Use
Format.Builder. |
static Format |
createVideoContainerFormat(String id,
String label,
String containerMimeType,
String sampleMimeType,
String codecs,
Metadata metadata,
int bitrate,
int width,
int height,
float frameRate,
List<byte[]> initializationData,
int selectionFlags,
int roleFlags) |
Deprecated.
Use
Format.Builder. |
static Format |
createVideoSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int width,
int height,
float frameRate,
List<byte[]> initializationData,
int rotationDegrees,
float pixelWidthHeightRatio,
byte[] projectionData,
int stereoMode,
ColorInfo colorInfo,
DrmInitData drmInitData) |
Deprecated.
Use
Format.Builder. |
static Format |
createVideoSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int width,
int height,
float frameRate,
List<byte[]> initializationData,
int rotationDegrees,
float pixelWidthHeightRatio,
DrmInitData drmInitData) |
Deprecated.
Use
Format.Builder. |
static Format |
createVideoSampleFormat(String id,
String sampleMimeType,
String codecs,
int bitrate,
int maxInputSize,
int width,
int height,
float frameRate,
List<byte[]> initializationData,
DrmInitData drmInitData) |
Deprecated.
Use
Format.Builder. |
int |
describeContents() |
|
boolean |
equals(Object obj) |
|
int |
getPixelCount() |
|
int |
hashCode() |
|
boolean |
initializationDataEquals(Format other) |
Returns whether the
initializationDatas belonging to this format and other are
equal. |
static String |
toLogString(Format format) |
Returns a prettier
String than toString(), intended for logging. |
String |
toString() |
|
Format |
withManifestFormatInfo(Format manifestFormat) |
|
void |
writeToParcel(Parcel dest,
int flags) |
public static final int NO_VALUE
public static final long OFFSET_SAMPLE_RELATIVE
subsampleOffsetUs to indicate that subsample timestamps are relative to
the timestamps of their parent samples.@Nullable public final String id
@Nullable public final String label
@Nullable public final String language
@SelectionFlags public final int selectionFlags
@RoleFlags public final int roleFlags
public final int averageBitrate
NO_VALUE if unknown or not applicable. The
way in which this field is populated depends on the type of media to which the format
corresponds:
NO_VALUE.
AVERAGE-BANDWIDTH attribute defined on the corresponding
EXT-X-STREAM-INF tag in the master playlist, or NO_VALUE if not present.
Bitrate attribute defined on the
corresponding TrackElement in the manifest, or NO_VALUE if not
present.
NO_VALUE, but may be populated with
the average bitrate of the container if known.
NO_VALUE, but may be populated with the average
bitrate of the stream of samples with type sampleMimeType if known. Note that if
sampleMimeType is a compressed format (e.g., MimeTypes.AUDIO_AAC), then
this bitrate is for the stream of still compressed samples.
public final int peakBitrate
NO_VALUE if unknown or not applicable. The way
in which this field is populated depends on the type of media to which the format corresponds:
@bandwidth attribute of the corresponding
Representation element in the manifest.
BANDWIDTH attribute defined on the corresponding
EXT-X-STREAM-INF tag.
NO_VALUE.
NO_VALUE, but may be populated with
the peak bitrate of the container if known.
NO_VALUE, but may be populated with the peak bitrate
of the stream of samples with type sampleMimeType if known. Note that if sampleMimeType is a compressed format (e.g., MimeTypes.AUDIO_AAC), then this
bitrate is for the stream of still compressed samples.
public final int bitrate
NO_VALUE. Equivalent to: peakBitrate != NO_VALUE ?
peakBitrate : averageBitrate.@Nullable public final String codecs
@Nullable public final Metadata metadata
@Nullable public final String containerMimeType
@Nullable public final String sampleMimeType
public final int maxInputSize
NO_VALUE if unknown or
not applicable.public final List<byte[]> initializationData
@Nullable public final DrmInitData drmInitData
public final long subsampleOffsetUs
OFFSET_SAMPLE_RELATIVE indicates that subsample timestamps are
relative to the timestamps of their parent samples.public final int width
NO_VALUE if unknown or not applicable.public final int height
NO_VALUE if unknown or not applicable.public final float frameRate
NO_VALUE if unknown or not applicable.public final int rotationDegrees
public final float pixelWidthHeightRatio
@Nullable public final byte[] projectionData
@StereoMode public final int stereoMode
NO_VALUE if not applicable. Valid stereo
modes are C.STEREO_MODE_MONO, C.STEREO_MODE_TOP_BOTTOM, C.STEREO_MODE_LEFT_RIGHT, C.STEREO_MODE_STEREO_MESH.@Nullable public final ColorInfo colorInfo
public final int channelCount
NO_VALUE if unknown or not applicable.public final int sampleRate
NO_VALUE if unknown or not applicable.@PcmEncoding public final int pcmEncoding
C.PcmEncoding for PCM audio. Set to NO_VALUE for other media types.public final int encoderDelay
public final int encoderPadding
public final int accessibilityChannel
NO_VALUE if not known or applicable.@Nullable public final Class<? extends ExoMediaCrypto> exoMediaCryptoType
ExoMediaCrypto that will be associated with the content this format
describes, or null if the content is not encrypted. Cannot be null if drmInitData is non-null.public static final Parcelable.Creator<Format> CREATOR
@Deprecated public static Format createVideoContainerFormat(@Nullable String id, @Nullable String label, @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, @Nullable Metadata metadata, int bitrate, int width, int height, float frameRate, @Nullable List<byte[]> initializationData, @SelectionFlags int selectionFlags, @RoleFlags int roleFlags)
Format.Builder.@Deprecated public static Format createVideoSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int width, int height, float frameRate, @Nullable List<byte[]> initializationData, @Nullable DrmInitData drmInitData)
Format.Builder.@Deprecated public static Format createVideoSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int width, int height, float frameRate, @Nullable List<byte[]> initializationData, int rotationDegrees, float pixelWidthHeightRatio, @Nullable DrmInitData drmInitData)
Format.Builder.@Deprecated public static Format createVideoSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int width, int height, float frameRate, @Nullable List<byte[]> initializationData, int rotationDegrees, float pixelWidthHeightRatio, @Nullable byte[] projectionData, @StereoMode int stereoMode, @Nullable ColorInfo colorInfo, @Nullable DrmInitData drmInitData)
Format.Builder.@Deprecated public static Format createAudioContainerFormat(@Nullable String id, @Nullable String label, @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, @Nullable Metadata metadata, int bitrate, int channelCount, int sampleRate, @Nullable List<byte[]> initializationData, @SelectionFlags int selectionFlags, @RoleFlags int roleFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createAudioSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int channelCount, int sampleRate, @Nullable List<byte[]> initializationData, @Nullable DrmInitData drmInitData, @SelectionFlags int selectionFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createAudioSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int channelCount, int sampleRate, @PcmEncoding int pcmEncoding, @Nullable List<byte[]> initializationData, @Nullable DrmInitData drmInitData, @SelectionFlags int selectionFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createAudioSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, int maxInputSize, int channelCount, int sampleRate, @PcmEncoding int pcmEncoding, int encoderDelay, int encoderPadding, @Nullable List<byte[]> initializationData, @Nullable DrmInitData drmInitData, @SelectionFlags int selectionFlags, @Nullable String language, @Nullable Metadata metadata)
Format.Builder.@Deprecated public static Format createTextContainerFormat(@Nullable String id, @Nullable String label, @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, @SelectionFlags int selectionFlags, @RoleFlags int roleFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createTextContainerFormat(@Nullable String id, @Nullable String label, @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, @SelectionFlags int selectionFlags, @RoleFlags int roleFlags, @Nullable String language, int accessibilityChannel)
Format.Builder.@Deprecated public static Format createTextSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @SelectionFlags int selectionFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createTextSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @SelectionFlags int selectionFlags, @Nullable String language, int accessibilityChannel, long subsampleOffsetUs, @Nullable List<byte[]> initializationData)
Format.Builder.@Deprecated public static Format createImageSampleFormat(@Nullable String id, @Nullable String sampleMimeType, @SelectionFlags int selectionFlags, @Nullable List<byte[]> initializationData, @Nullable String language)
Format.Builder.@Deprecated public static Format createContainerFormat(@Nullable String id, @Nullable String label, @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, int bitrate, @SelectionFlags int selectionFlags, @RoleFlags int roleFlags, @Nullable String language)
Format.Builder.@Deprecated public static Format createSampleFormat(@Nullable String id, @Nullable String sampleMimeType)
Format.Builder.public Format.Builder buildUpon()
Format.Builder initialized with the values of this instance.@Deprecated public Format copyWithMaxInputSize(int maxInputSize)
@Deprecated public Format copyWithSubsampleOffsetUs(long subsampleOffsetUs)
@Deprecated public Format copyWithLabel(@Nullable String label)
buildUpon() and Format.Builder.setLabel(String) .@Deprecated public Format copyWithManifestFormatInfo(Format manifestFormat)
@Deprecated public Format copyWithGaplessInfo(int encoderDelay, int encoderPadding)
@Deprecated public Format copyWithFrameRate(float frameRate)
@Deprecated public Format copyWithDrmInitData(@Nullable DrmInitData drmInitData)
@Deprecated public Format copyWithMetadata(@Nullable Metadata metadata)
@Deprecated public Format copyWithBitrate(int bitrate)
@Deprecated public Format copyWithVideoSize(int width, int height)
public Format copyWithExoMediaCryptoType(@Nullable Class<? extends ExoMediaCrypto> exoMediaCryptoType)
exoMediaCryptoType.public int getPixelCount()
public boolean initializationDataEquals(Format other)
initializationDatas belonging to this format and other are
equal.other - The other format whose initializationData is being compared.initializationDatas belonging to this format and other are
equal.public static String toLogString(@Nullable Format format)
String than toString(), intended for logging.public int describeContents()
describeContents in interface Parcelablepublic void writeToParcel(Parcel dest, int flags)
writeToParcel in interface Parcelable