Constructor
(export) new SegmentIndex(referencesnon-null)
Creates a SegmentIndex.
Parameters:
Name | Type | Description |
---|---|---|
references |
Array.<!shaka.media.SegmentReference> | The list of SegmentReferences, which must be sorted first by their start times (ascending) and second by their end times (ascending), and have continuous, increasing positions. |
- Implements:
- Source:
Members
(private) references_ :Array.<!shaka.media.SegmentReference>
Type:
- Array.<!shaka.media.SegmentReference>
- Source:
Methods
(private, static) assertCorrectReferences_(referencesnon-null)
Asserts that the given SegmentReferences are sorted and have continuous,
increasing positions.
Parameters:
Name | Type | Description |
---|---|---|
references |
Array.<shaka.media.SegmentReference> |
- Source:
(export) destroy() → (non-null) {Promise}
Destroys the object, releasing all resources and shutting down all
operations. Returns a Promise which is resolved when destruction is
complete. This Promise should never be rejected.
- Implements:
- Source:
Returns:
- Type
- Promise
(export) evict(time)
Removes all SegmentReferences that end before the given time.
Parameters:
Name | Type | Description |
---|---|---|
time |
number | The time in seconds. |
- Source:
(export) find(time) → (nullable) {number}
Finds the position of the segment for the given time, in seconds, relative
to the start of a particular Period. Returns the position of the segment
with the largest end time if more than one segment is known for the given
time.
Parameters:
Name | Type | Description |
---|---|---|
time |
number |
- Source:
Returns:
The position of the segment, or null
if the position of the segment could not be determined.
- Type
- number
fit(periodDurationnullable)
Expands the first SegmentReference so it begins at the start of its Period
if it already begins close to the start of its Period.
Also expands or contracts the last SegmentReference so it ends at the end of
its Period.
Do not call on the last period of a live presentation (unknown duration).
It is okay to call on the other periods of a live presentation, where the
duration is known and another period has been added.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
periodDuration |
number |
<nullable> |
- Source:
(export) get(position) → {shaka.media.SegmentReference}
Gets the SegmentReference for the segment at the given position.
Parameters:
Name | Type | Description |
---|---|---|
position |
number | The position of the segment. |
- Source:
Returns:
The SegmentReference, or null if
no such SegmentReference exists.
(export) merge(referencesnon-null)
Merges the given SegmentReferences. Supports extending the original
references only. Will not replace old references or interleave new ones.
Parameters:
Name | Type | Description |
---|---|---|
references |
Array.<!shaka.media.SegmentReference> | The list of SegmentReferences, which must be sorted first by their start times (ascending) and second by their end times (ascending), and have continuous, increasing positions. |
- Source:
(export) offset(offset)
Offset all segment references by a fixed amount.
Parameters:
Name | Type | Description |
---|---|---|
offset |
number | The amount to add to each segment's start and end times. |
- Source:
replace(newReferencesnon-null)
Replace existing references with new ones, without merging.
Parameters:
Name | Type | Description |
---|---|---|
newReferences |
Array.<!shaka.media.SegmentReference> |
- Source: