Class: shaka.util.CmcdManager
A CmcdManager maintains CMCD state as well as a collection of utility
functions.
Constructor
new CmcdManager(playerInterface, config)
A CmcdManager maintains CMCD state as well as a collection of utility
functions.
Parameters:
- Source:
Members
ObjectType :string
Type:
Properties:
Name |
Value |
Type |
Description |
MANIFEST |
m
|
string
|
|
AUDIO |
a
|
string
|
|
VIDEO |
v
|
string
|
|
MUXED |
av
|
string
|
|
INIT |
i
|
string
|
|
CAPTION |
c
|
string
|
|
TIMED_TEXT |
tt
|
string
|
|
KEY |
k
|
string
|
|
OTHER |
o
|
string
|
|
- Source:
Type:
Properties:
Name |
Value |
Type |
Description |
DASH |
d
|
string
|
|
LOW_LATENCY_DASH |
ld
|
string
|
|
HLS |
h
|
string
|
|
LOW_LATENCY_HLS |
lh
|
string
|
|
SMOOTH |
s
|
string
|
|
OTHER |
o
|
string
|
|
- Source:
StreamType :string
Type:
Properties:
Name |
Value |
Type |
Description |
VOD |
v
|
string
|
|
LIVE |
l
|
string
|
|
- Source:
Version :number
The CMCD spec version
Type:
- Source:
buffering_ :boolean
Type:
- Source:
lowLatency_ :boolean
Type:
- Source:
playbackStarted_ :boolean
Type:
- Source:
Streaming format
Type:
- Source:
starved_ :boolean
Type:
- Source:
Methods
appendQueryToUri(uri, query) → {string}
Append query args to a uri.
Parameters:
Name |
Type |
Description |
uri |
string
|
|
query |
string
|
|
- Source:
Returns:
-
Type
-
string
serialize(data) → {string}
Serialize a CMCD data object according to the rules defined in the
section 3.2 of
[CTA-5004](https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf).
Parameters:
Name |
Type |
Description |
data |
CmcdData
|
The CMCD data object |
- Source:
Returns:
-
Type
-
string
Convert a CMCD data object to request headers according to the rules
defined in the section 2.1 and 3.2 of
[CTA-5004](https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf).
Parameters:
Name |
Type |
Description |
data |
CmcdData
|
The CMCD data object |
- Source:
Returns:
-
Type
-
Object
toQuery(data) → {string}
Convert a CMCD data object to query args according to the rules
defined in the section 2.2 and 3.2 of
[CTA-5004](https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf).
Parameters:
Name |
Type |
Description |
data |
CmcdData
|
The CMCD data object |
- Source:
Returns:
-
Type
-
string
appendSrcData(uri, mimeType) → {string}
Apply CMCD data to streams loaded via src=.
Parameters:
Name |
Type |
Description |
uri |
string
|
|
mimeType |
string
|
|
- Source:
Returns:
-
Type
-
string
appendTextTrackData(uri) → {string}
Apply CMCD data to side car text track uri.
Parameters:
Name |
Type |
Description |
uri |
string
|
|
- Source:
Returns:
-
Type
-
string
apply_(requestnon-null, datanon-null, useHeaders)
Apply CMCD data to a request.
Parameters:
Name |
Type |
Description |
request |
shaka.extern.Request
|
The request to apply CMCD data to |
data |
CmcdData
|
The data object |
useHeaders |
boolean
|
Send data via request headers |
- Source:
applyData(typenon-null, requestnon-null, contextopt)
Apply CMCD data to a request.
Parameters:
- Source:
applyManifestData(requestnon-null, context)
Apply CMCD data to a manifest request.
Parameters:
- Source:
applySegmentData(requestnon-null, context)
Apply CMCD data to a segment request
Parameters:
- Source:
applyTextData(requestnon-null)
Apply CMCD data to a text request
Parameters:
- Source:
calculateRtp_(stream, segment) → {number}
Calculate requested maximun throughput
Parameters:
- Source:
Returns:
-
Type
-
number
Called by the Player to provide an updated configuration any time it
changes.
Parameters:
- Source:
createData_() → {CmcdData}
Create baseline CMCD data
- Source:
Returns:
-
Type
-
CmcdData
filterKeys_(data) → {CmcdData}
Filter the CMCD data object to include only the keys specified in the
configuration.
Parameters:
Name |
Type |
Description |
data |
CmcdData
|
|
- Source:
Returns:
-
Type
-
CmcdData
getBufferLength_(type) → {number}
Get the buffer length for a media type in milliseconds
Parameters:
Name |
Type |
Description |
type |
string
|
|
- Source:
Returns:
-
Type
-
number
getObjectType_(context)
The CMCD object type.
Parameters:
- Source:
getRemainingBufferLength_(type) → {number}
Get the remaining buffer length for a media type in milliseconds
Parameters:
Name |
Type |
Description |
type |
string
|
|
- Source:
Returns:
-
Type
-
number
getTopBandwidth_(type) → {number}
Get the highest bandwidth for a given type.
Parameters:
Name |
Type |
Description |
type |
string
|
|
- Source:
Returns:
-
Type
-
number
reset()
Resets the CmcdManager.
- Source:
setBuffering(buffering)
Set the buffering state
Parameters:
Name |
Type |
Description |
buffering |
boolean
|
|
- Source:
setLowLatency(lowLatency)
Set the low latency
Parameters:
Name |
Type |
Description |
lowLatency |
boolean
|
|
- Source:
urlToRelativePath_(url, base) → {string}
Constructs a relative path from a URL
Parameters:
Name |
Type |
Description |
url |
string
|
|
base |
string
|
|
- Source:
Returns:
-
Type
-
string
Type Definitions
PlayerInterface
Type:
-
{getBandwidthEstimate: function(): number, getBufferedInfo: function(): shaka.extern.BufferedInfo, getCurrentTime: function(): number, getPlaybackRate: function(): number, getVariantTracks: function(): Array.<shaka.extern.Track>, isLive: function(): boolean}
Properties:
Name |
Type |
Description |
getBandwidthEstimate |
function
|
Get the estimated bandwidth in bits per second. |
getBufferedInfo |
function
|
Get information about what the player has buffered. |
getCurrentTime |
function
|
Get the current time |
getPlaybackRate |
function
|
Get the playback rate |
getVariantTracks |
function
|
Get the variant tracks |
isLive |
function
|
Get if the player is playing live content. |
- Source: