Constructor
new StreamUtils()
A set of utility functions for dealing with Streams and Manifests.
- Source:
Members
Methods
applyRestrictions(variantsnon-null, restrictions, maxHwRes) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
variants |
Array.<shaka.extern.Variant> | |
restrictions |
shaka.extern.Restrictions | |
maxHwRes |
{width: number, height: number} |
- Source:
Returns:
Whether the tracks changed.
- Type
- boolean
areStreamsCompatible_(s0, s1) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
s0 |
shaka.extern.Stream | |
s1 |
shaka.extern.Stream |
- Source:
Returns:
- Type
- boolean
chooseCodecsAndFilterManifest(manifestnon-null, preferredAudioChannelCount)
In case of multiple usable codecs, choose one based on lowest average
bandwidth and filter out the rest.
Also filters out variants that have too many audio channels.
Parameters:
Name | Type | Description |
---|---|---|
manifest |
shaka.extern.Manifest | |
preferredAudioChannelCount |
number |
- Source:
filterManifest(drmEngine, currentVariantnullable, manifest)
Alters the given Manifest to filter out any unplayable streams.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
drmEngine |
shaka.media.DrmEngine | ||
currentVariant |
shaka.extern.Variant |
<nullable> |
|
manifest |
shaka.extern.Manifest |
- Source:
filterStreamsByLanguageAndRole(streamsnon-null, preferredLanguage, preferredRole) → {Array.<!shaka.extern.Stream>}
Chooses streams according to the given config.
Parameters:
Name | Type | Description |
---|---|---|
streams |
Array.<shaka.extern.Stream> | |
preferredLanguage |
string | |
preferredRole |
string |
- Source:
Returns:
- Type
- Array.<!shaka.extern.Stream>
filterTextStreamsByRole_(textStreamsnon-null, preferredRole) → {Array.<shaka.extern.Stream>}
Filter text Streams by role.
Parameters:
Name | Type | Description |
---|---|---|
textStreams |
Array.<shaka.extern.Stream> | |
preferredRole |
string |
- Source:
Returns:
- Type
- Array.<shaka.extern.Stream>
filterVariantsByAudioChannelCount(variantsnon-null, preferredAudioChannelCount) → {Array.<!shaka.extern.Variant>}
Filters variants according to the given audio channel count config.
Parameters:
Name | Type | Description |
---|---|---|
variants |
Array.<shaka.extern.Variant> | |
preferredAudioChannelCount |
number |
- Source:
Returns:
- Type
- Array.<!shaka.extern.Variant>
filterVariantsByDensity_(variantsByCodecsnon-null) → {shaka.util.MultiMap.<shaka.extern.Variant>}
Filters variants by density.
Parameters:
Name | Type | Description |
---|---|---|
variantsByCodecs |
shaka.util.MultiMap.<shaka.extern.Variant> |
- Source:
Returns:
findBestCodecs_(variantsByCodecsnon-null) → {string}
Find the lowest-bandwidth (best) codecs.
Compute the average bandwidth for each group of variants.
Parameters:
Name | Type | Description |
---|---|---|
variantsByCodecs |
shaka.util.MultiMap.<shaka.extern.Variant> |
- Source:
Returns:
- Type
- string
getGroupVariantCodecs_(variantnon-null) → {string}
Get a string representing all codecs used in a variant.
Parameters:
Name | Type | Description |
---|---|---|
variant |
shaka.extern.Variant |
- Source:
Returns:
- Type
- string
getPlayableVariants(variantsnon-null) → {Array.<!shaka.extern.Variant>}
Filters out unplayable variants.
Parameters:
Name | Type | Description |
---|---|---|
variants |
Array.<!shaka.extern.Variant> |
- Source:
Returns:
- Type
- Array.<!shaka.extern.Variant>
getStreamSummaryString_(stream) → {string}
Parameters:
Name | Type | Description |
---|---|---|
stream |
shaka.extern.Stream |
- Source:
Returns:
- Type
- string
getVariantsByCodecs_(variantsnon-null) → {shaka.util.MultiMap.<shaka.extern.Variant>}
Get variants by codecs.
Parameters:
Name | Type | Description |
---|---|---|
variants |
Array.<shaka.extern.Variant> |
- Source:
Returns:
getVariantStreams(variant) → {Array.<shaka.extern.Stream>}
Get all non-null streams in the variant as an array.
Parameters:
Name | Type | Description |
---|---|---|
variant |
shaka.extern.Variant |
- Source:
Returns:
- Type
- Array.<shaka.extern.Stream>
html5AudioTrackToTrack(audioTrack) → {shaka.extern.Track}
Parameters:
Name | Type | Description |
---|---|---|
audioTrack |
AudioTrack |
- Source:
Returns:
- Type
- shaka.extern.Track
html5TextTrackToTrack(textTrack) → {shaka.extern.Track}
Parameters:
Name | Type | Description |
---|---|---|
textTrack |
TextTrack |
- Source:
Returns:
- Type
- shaka.extern.Track
html5TrackId(html5Track) → {number}
Generate and return an ID for this track, since the ID field is optional.
Parameters:
Name | Type | Description |
---|---|---|
html5Track |
TextTrack | AudioTrack |
- Source:
Returns:
The generated ID.
- Type
- number
html5TrackToGenericShakaTrack_(html5Track) → {shaka.extern.Track}
Creates a Track object with non-type specific fields filled out. The
caller is responsible for completing the Track object with any
type-specific information (audio or text).
Parameters:
Name | Type | Description |
---|---|---|
html5Track |
TextTrack | AudioTrack |
- Source:
Returns:
- Type
- shaka.extern.Track
isAudio(stream) → {boolean}
Checks if the given stream is an audio stream.
Parameters:
Name | Type | Description |
---|---|---|
stream |
shaka.extern.Stream |
- Source:
Returns:
- Type
- boolean
isPlayable(variantnon-null) → {boolean}
Determines if the given variant is playable.
Parameters:
Name | Type | Description |
---|---|---|
variant |
shaka.extern.Variant |
- Source:
Returns:
- Type
- boolean
isVideo(stream) → {boolean}
Checks if the given stream is a video stream.
Parameters:
Name | Type | Description |
---|---|---|
stream |
shaka.extern.Stream |
- Source:
Returns:
- Type
- boolean
meetsRestrictions(variant, restrictions, maxHwRes) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
variant |
shaka.extern.Variant | |
restrictions |
shaka.extern.Restrictions | Configured restrictions from the user. |
maxHwRes |
{width: number, height: number} | The maximum resolution the hardware can handle. This is applied separately from user restrictions because the setting should not be easily replaced by the user's configuration. |
- Source:
Returns:
- Type
- boolean
textStreamToTrack(stream) → {shaka.extern.Track}
Parameters:
Name | Type | Description |
---|---|---|
stream |
shaka.extern.Stream |
- Source:
Returns:
- Type
- shaka.extern.Track
variantToTrack(variant) → {shaka.extern.Track}
Parameters:
Name | Type | Description |
---|---|---|
variant |
shaka.extern.Variant |
- Source:
Returns:
- Type
- shaka.extern.Track