Class VideoTrackQuality
java.lang.Object
com.castlabs.android.player.models.VideoTrackQuality
- All Implemented Interfaces:
Parcelable
,Comparable<VideoTrackQuality>
Represents a single quality of a video track. This is typically generated from a Representation
for DASH streams, a QualityLevel for SmoothStreaming, and a Variant for HLS.
The model contains at least the information about the quality bitrate as this is used to compare
instances of VideoTrackQuality. Video qualities are sorted by bitrate in decreasing order with the
Comparable
implementation in this class.
Other attributes should be set if the information is available, but they are not mandatory. If
the information is missing, the value is either -1 or null.- Since:
- 3.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface android.os.Parcelable
Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>
-
Field Summary
FieldsFields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
-
Constructor Summary
ConstructorsConstructorDescriptionVideoTrackQuality
(int bitrate) Create a new video track quality with a bitrate > 0VideoTrackQuality
(com.google.android.exoplayer2.Format format) Create a new video track quality based on the given format -
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(VideoTrackQuality another) int
boolean
int
getDrm()
GetDrm
of the current qualitycom.google.android.exoplayer2.drm.DrmInitData
com.google.android.exoplayer2.Format
float
int
getId()
Set the id of this trackgetLabel()
float
int
int
float
float
int
int
getWidth()
int
hashCode()
boolean
boolean
matchesFormat
(com.google.android.exoplayer2.Format format) Returns true if this quality matches the given formats width, height, frameRate, codecs, bitrate, max playout rate and mimetypevoid
void
AssignDrm
to the current qualityvoid
setDrmKeyStatus
(KeyStatus drmKeyStatus) void
setFrameRate
(float frameRate) void
setHeight
(int height) void
Set the id associated with this trackvoid
setMaxPlayoutRate
(float maxPlayoutRate) void
setMediaMimeType
(String mimeType) void
setMimeType
(String mimeType) void
setOriginalGroupIndex
(int originalGroupIndex) Set the original index of the corresponding track groupvoid
setOriginalTrackIndex
(int originalTrackIndex) Set the original index of this trackvoid
setPictureWidthHeightRatio
(float pictureWidthHeightRatio) void
setPixelWidthHeightRatio
(float pixelWidthHeightRatio) void
setTrackIndex
(int trackIndex) void
setWidth
(int width) toString()
void
writeToParcel
(Parcel dest, int flags)
-
Field Details
-
CREATOR
-
-
Constructor Details
-
VideoTrackQuality
public VideoTrackQuality(int bitrate) Create a new video track quality with a bitrate > 0- Parameters:
bitrate
- the bitrate
-
VideoTrackQuality
public VideoTrackQuality(@NonNull com.google.android.exoplayer2.Format format) Create a new video track quality based on the given format- Parameters:
format
- the format
-
-
Method Details
-
isDisabled
public boolean isDisabled()- Returns:
- false if the quality can be played and true otherwise
-
getId
Set the id of this track- Returns:
- The id associated with this track
-
setId
Set the id associated with this track- Parameters:
id
- the id
-
getDrm
GetDrm
of the current quality- Returns:
Drm
ornull
for clear content
-
setDrm
AssignDrm
to the current quality- Parameters:
drm
-Drm
or null for clear content
-
getDrmKeyStatus
- Returns:
- The
KeyStatus
or null for clear content
-
setDrmKeyStatus
-
getBitrate
public int getBitrate()- Returns:
- The average bandwidth in bits per second.
-
getWidth
public int getWidth()- Returns:
- The width of this quality in pixel or -1
-
setWidth
public void setWidth(int width) - Parameters:
width
- the width of this quality in pixel
-
getHeight
public int getHeight()- Returns:
- The height of this quality in pixel or -1
-
setPixelWidthHeightRatio
public void setPixelWidthHeightRatio(float pixelWidthHeightRatio) - Parameters:
pixelWidthHeightRatio
- the pixel width height ratio
-
getPixelWidthHeightRatio
public float getPixelWidthHeightRatio()- Returns:
- The pixel width height ratio of this quality if known or 1.0f The value equals to DASH sar value
-
getPictureWidthHeightRatio
public float getPictureWidthHeightRatio()- Returns:
- The picture width height ratio of this quality if known or 1.0f The value equals to DASH par value
-
setPictureWidthHeightRatio
public void setPictureWidthHeightRatio(float pictureWidthHeightRatio) - Parameters:
pictureWidthHeightRatio
- the picture width height ratio
-
setHeight
public void setHeight(int height) - Parameters:
height
- the width of this quality in pixel
-
getFrameRate
public float getFrameRate()- Returns:
- The frame rate of this quality or -1
-
setFrameRate
public void setFrameRate(float frameRate) - Parameters:
frameRate
- the framerate of this quality
-
getMaxPlayoutRate
public float getMaxPlayoutRate() -
setMaxPlayoutRate
public void setMaxPlayoutRate(float maxPlayoutRate) -
getCodecs
- Returns:
- A ist of codec of this quality or null
-
setCodecs
- Parameters:
codecs
- the codecs of this quality
-
getMediaMimeType
- Returns:
- The media mime type of this quality. This is the type of the media container
-
setMediaMimeType
- Parameters:
mimeType
- the media mime type of this quality.
-
getMimeType
- Returns:
- The codec mime type of this quality. This is the type of the elementary stream (i.e. the individual samples)
-
setMimeType
- Parameters:
mimeType
- the codec mime type of this quality
-
getTrackIndex
public int getTrackIndex()- Returns:
- The index of this quality within the set of qualities on the parent track
-
setTrackIndex
public void setTrackIndex(int trackIndex) - Parameters:
trackIndex
- the track index within the set of parent tracks
-
getOriginalTrackIndex
public int getOriginalTrackIndex()- Returns:
- The original index if this track, when no filters where applied
-
setOriginalTrackIndex
public void setOriginalTrackIndex(int originalTrackIndex) Set the original index of this track- Parameters:
originalTrackIndex
- The original index
-
getOriginalGroupIndex
public int getOriginalGroupIndex()- Returns:
- The original index if the corresponding track group, when no filters where applied
-
setOriginalGroupIndex
public void setOriginalGroupIndex(int originalGroupIndex) Set the original index of the corresponding track group- Parameters:
originalGroupIndex
- The original index
-
matchesFormat
public boolean matchesFormat(@NonNull com.google.android.exoplayer2.Format format) Returns true if this quality matches the given formats width, height, frameRate, codecs, bitrate, max playout rate and mimetype- Parameters:
format
- the format- Returns:
- True if this quality matches the given format properties
-
getFormat
@NonNull public com.google.android.exoplayer2.Format getFormat() -
getLabel
- Returns:
- The label for this quality as DASH label if available or width x height
-
getDrmInitData
@Nullable public com.google.android.exoplayer2.drm.DrmInitData getDrmInitData() -
compareTo
- Specified by:
compareTo
in interfaceComparable<VideoTrackQuality>
-
hashCode
public int hashCode() -
equals
-
toString
-
describeContents
public int describeContents()- Specified by:
describeContents
in interfaceParcelable
-
writeToParcel
- Specified by:
writeToParcel
in interfaceParcelable
-