shaka-player 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/build/conformance.textproto +183 -169
- package/dist/controls.css +1 -1
- package/dist/deps.js +1 -1
- package/dist/locales.js +30 -30
- package/dist/shaka-player.compiled.d.ts +25 -2
- package/dist/shaka-player.compiled.debug.d.ts +25 -2
- package/dist/shaka-player.compiled.debug.externs.js +22 -1
- package/dist/shaka-player.compiled.debug.js +226 -222
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.externs.js +22 -1
- package/dist/shaka-player.compiled.js +814 -812
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +25 -2
- package/dist/shaka-player.ui.debug.d.ts +25 -2
- package/dist/shaka-player.ui.debug.externs.js +22 -1
- package/dist/shaka-player.ui.debug.js +244 -240
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.externs.js +22 -1
- package/dist/shaka-player.ui.js +995 -992
- package/dist/shaka-player.ui.map +4 -4
- package/externs/cmcd.js +186 -0
- package/externs/shaka/player.js +8 -0
- package/externs/shaka/text.js +10 -0
- package/lib/hls/hls_parser.js +30 -0
- package/lib/media/segment_index.js +2 -1
- package/lib/media/segment_reference.js +19 -1
- package/lib/media/streaming_engine.js +5 -2
- package/lib/player.js +23 -17
- package/lib/polyfill/media_capabilities.js +30 -15
- package/lib/text/cue.js +6 -0
- package/lib/text/ttml_text_parser.js +84 -58
- package/lib/text/ui_text_displayer.js +17 -11
- package/lib/util/cmcd_manager.js +47 -201
- package/lib/util/stream_utils.js +86 -10
- package/lib/util/xml_utils.js +19 -0
- package/package.json +2 -2
- package/test/media/drm_engine_unit.js +3 -3
- package/test/media/streaming_engine_integration.js +2 -1
- package/test/media/streaming_engine_unit.js +145 -0
- package/test/player_integration.js +41 -8
- package/test/player_src_equals_integration.js +41 -8
- package/test/player_unit.js +19 -9
- package/test/test/assets/chapters.vtt +2 -2
- package/test/test/assets/chapters2.vtt +10 -0
- package/test/test/util/ttml_utils.js +81 -0
- package/test/text/mp4_ttml_parser_unit.js +11 -18
- package/test/text/ttml_text_parser_unit.js +499 -230
- package/test/util/cmcd_manager_unit.js +29 -15
- package/test/util/stream_utils_unit.js +36 -30
- package/third_party/closure-uri/uri.js +21 -0
- package/ui/text_selection.js +1 -0
- package/externs/media_capabilities.js +0 -16
|
@@ -1128,7 +1128,7 @@ declare namespace shaka.media {
|
|
|
1128
1128
|
*/
|
|
1129
1129
|
class SegmentReference {
|
|
1130
1130
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1131
|
-
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null ) ;
|
|
1131
|
+
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null ) ;
|
|
1132
1132
|
/**
|
|
1133
1133
|
* Returns the offset from the start of the resource to the end of the
|
|
1134
1134
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1148,6 +1148,11 @@ declare namespace shaka.media {
|
|
|
1148
1148
|
* Returns the segment's start time in seconds.
|
|
1149
1149
|
*/
|
|
1150
1150
|
getStartTime ( ) : number ;
|
|
1151
|
+
/**
|
|
1152
|
+
* Returns the segment's explicit tile duration.
|
|
1153
|
+
* Only defined in image segments.
|
|
1154
|
+
*/
|
|
1155
|
+
getTileDuration ( ) : number | null ;
|
|
1151
1156
|
/**
|
|
1152
1157
|
* Returns the segment's tiles layout. Only defined in image segments.
|
|
1153
1158
|
*/
|
|
@@ -1503,6 +1508,12 @@ declare namespace shaka.polyfill {
|
|
|
1503
1508
|
* Install the polyfill if needed.
|
|
1504
1509
|
*/
|
|
1505
1510
|
static install ( ) : any ;
|
|
1511
|
+
/**
|
|
1512
|
+
* A copy of the MediaCapabilities instance, to prevent Safari from
|
|
1513
|
+
* garbage-collecting the polyfilled method on it. We make it public and export
|
|
1514
|
+
* it to ensure that it is not stripped out by the compiler.
|
|
1515
|
+
*/
|
|
1516
|
+
static originalMcap : any | null ;
|
|
1506
1517
|
}
|
|
1507
1518
|
}
|
|
1508
1519
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.ui.externs.js
|
|
@@ -1646,6 +1657,7 @@ declare namespace shaka.text {
|
|
|
1646
1657
|
fontStyle : any ;
|
|
1647
1658
|
fontWeight : any ;
|
|
1648
1659
|
id : any ;
|
|
1660
|
+
isContainer : any ;
|
|
1649
1661
|
letterSpacing : any ;
|
|
1650
1662
|
line : any ;
|
|
1651
1663
|
/**
|
|
@@ -3348,6 +3360,10 @@ declare namespace chrome.cast.SessionStatus {
|
|
|
3348
3360
|
declare namespace chrome.cast {
|
|
3349
3361
|
let isAvailable : boolean ;
|
|
3350
3362
|
}
|
|
3363
|
+
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/cmcd.js
|
|
3364
|
+
declare namespace ಠ_ಠ.clutz {
|
|
3365
|
+
type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
|
|
3366
|
+
}
|
|
3351
3367
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/ima.js
|
|
3352
3368
|
declare namespace google.ima.AdErrorEvent {
|
|
3353
3369
|
enum Type {
|
|
@@ -4317,7 +4333,7 @@ declare namespace shaka.extern {
|
|
|
4317
4333
|
}
|
|
4318
4334
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/shaka/player.js
|
|
4319
4335
|
declare namespace shaka.extern {
|
|
4320
|
-
type Thumbnail = { duration : number , height : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
|
|
4336
|
+
type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
|
|
4321
4337
|
}
|
|
4322
4338
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/shaka/player.js
|
|
4323
4339
|
declare namespace shaka.extern {
|
|
@@ -4394,6 +4410,13 @@ declare namespace shaka.extern {
|
|
|
4394
4410
|
* Id of the cue.
|
|
4395
4411
|
*/
|
|
4396
4412
|
id : string ;
|
|
4413
|
+
/**
|
|
4414
|
+
* If true, this represents a container element that is "above" the main
|
|
4415
|
+
* cues. For example, the <body> and <div> tags that contain the <p> tags
|
|
4416
|
+
* in a TTML file. This controls the flow of the final cues; any nested cues
|
|
4417
|
+
* within an "isContainer" cue will be laid out as separate lines.
|
|
4418
|
+
*/
|
|
4419
|
+
isContainer : boolean ;
|
|
4397
4420
|
/**
|
|
4398
4421
|
* Text letter spacing as a CSS letter-spacing value.
|
|
4399
4422
|
*/
|
|
@@ -1128,7 +1128,7 @@ declare namespace shaka.media {
|
|
|
1128
1128
|
*/
|
|
1129
1129
|
class SegmentReference {
|
|
1130
1130
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1131
|
-
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null ) ;
|
|
1131
|
+
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null ) ;
|
|
1132
1132
|
/**
|
|
1133
1133
|
* Returns the offset from the start of the resource to the end of the
|
|
1134
1134
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1148,6 +1148,11 @@ declare namespace shaka.media {
|
|
|
1148
1148
|
* Returns the segment's start time in seconds.
|
|
1149
1149
|
*/
|
|
1150
1150
|
getStartTime ( ) : number ;
|
|
1151
|
+
/**
|
|
1152
|
+
* Returns the segment's explicit tile duration.
|
|
1153
|
+
* Only defined in image segments.
|
|
1154
|
+
*/
|
|
1155
|
+
getTileDuration ( ) : number | null ;
|
|
1151
1156
|
/**
|
|
1152
1157
|
* Returns the segment's tiles layout. Only defined in image segments.
|
|
1153
1158
|
*/
|
|
@@ -1503,6 +1508,12 @@ declare namespace shaka.polyfill {
|
|
|
1503
1508
|
* Install the polyfill if needed.
|
|
1504
1509
|
*/
|
|
1505
1510
|
static install ( ) : any ;
|
|
1511
|
+
/**
|
|
1512
|
+
* A copy of the MediaCapabilities instance, to prevent Safari from
|
|
1513
|
+
* garbage-collecting the polyfilled method on it. We make it public and export
|
|
1514
|
+
* it to ensure that it is not stripped out by the compiler.
|
|
1515
|
+
*/
|
|
1516
|
+
static originalMcap : any | null ;
|
|
1506
1517
|
}
|
|
1507
1518
|
}
|
|
1508
1519
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/dist/shaka-player.ui.debug.externs.js
|
|
@@ -1646,6 +1657,7 @@ declare namespace shaka.text {
|
|
|
1646
1657
|
fontStyle : any ;
|
|
1647
1658
|
fontWeight : any ;
|
|
1648
1659
|
id : any ;
|
|
1660
|
+
isContainer : any ;
|
|
1649
1661
|
letterSpacing : any ;
|
|
1650
1662
|
line : any ;
|
|
1651
1663
|
/**
|
|
@@ -3348,6 +3360,10 @@ declare namespace chrome.cast.SessionStatus {
|
|
|
3348
3360
|
declare namespace chrome.cast {
|
|
3349
3361
|
let isAvailable : boolean ;
|
|
3350
3362
|
}
|
|
3363
|
+
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/cmcd.js
|
|
3364
|
+
declare namespace ಠ_ಠ.clutz {
|
|
3365
|
+
type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
|
|
3366
|
+
}
|
|
3351
3367
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/ima.js
|
|
3352
3368
|
declare namespace google.ima.AdErrorEvent {
|
|
3353
3369
|
enum Type {
|
|
@@ -4317,7 +4333,7 @@ declare namespace shaka.extern {
|
|
|
4317
4333
|
}
|
|
4318
4334
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/shaka/player.js
|
|
4319
4335
|
declare namespace shaka.extern {
|
|
4320
|
-
type Thumbnail = { duration : number , height : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
|
|
4336
|
+
type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , startTime : number , uris : string [] , width : number } ;
|
|
4321
4337
|
}
|
|
4322
4338
|
// Generated from /usr/local/google/home/joeyparrish/hacking/shaka/clean/externs/shaka/player.js
|
|
4323
4339
|
declare namespace shaka.extern {
|
|
@@ -4394,6 +4410,13 @@ declare namespace shaka.extern {
|
|
|
4394
4410
|
* Id of the cue.
|
|
4395
4411
|
*/
|
|
4396
4412
|
id : string ;
|
|
4413
|
+
/**
|
|
4414
|
+
* If true, this represents a container element that is "above" the main
|
|
4415
|
+
* cues. For example, the <body> and <div> tags that contain the <p> tags
|
|
4416
|
+
* in a TTML file. This controls the flow of the final cues; any nested cues
|
|
4417
|
+
* within an "isContainer" cue will be laid out as separate lines.
|
|
4418
|
+
*/
|
|
4419
|
+
isContainer : boolean ;
|
|
4397
4420
|
/**
|
|
4398
4421
|
* Text letter spacing as a CSS letter-spacing value.
|
|
4399
4422
|
*/
|
|
@@ -695,6 +695,10 @@ shaka.text.Cue.prototype.id;
|
|
|
695
695
|
* @override
|
|
696
696
|
*/
|
|
697
697
|
shaka.text.Cue.prototype.nestedCues;
|
|
698
|
+
/**
|
|
699
|
+
* @override
|
|
700
|
+
*/
|
|
701
|
+
shaka.text.Cue.prototype.isContainer;
|
|
698
702
|
/**
|
|
699
703
|
* @override
|
|
700
704
|
*/
|
|
@@ -1821,8 +1825,12 @@ shaka.media.SegmentReference = class {
|
|
|
1821
1825
|
* The value is a grid-item-dimension consisting of two positive decimal
|
|
1822
1826
|
* integers in the format: column-x-row ('4x3'). It describes the
|
|
1823
1827
|
* arrangement of Images in a Grid. The minimum valid LAYOUT is '1x1'.
|
|
1828
|
+
* @param {?number=} tileDuration
|
|
1829
|
+
* The explicit duration of an individual tile within the tiles grid.
|
|
1830
|
+
* If not provided, the duration should be automatically calculated based on
|
|
1831
|
+
* the duration of the reference.
|
|
1824
1832
|
*/
|
|
1825
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout) {}
|
|
1833
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration) {}
|
|
1826
1834
|
/**
|
|
1827
1835
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1828
1836
|
* @return {!Array.<string>}
|
|
@@ -1856,6 +1864,12 @@ shaka.media.SegmentReference = class {
|
|
|
1856
1864
|
* @return {?string}
|
|
1857
1865
|
*/
|
|
1858
1866
|
getTilesLayout() {}
|
|
1867
|
+
/**
|
|
1868
|
+
* Returns the segment's explicit tile duration.
|
|
1869
|
+
* Only defined in image segments.
|
|
1870
|
+
* @return {?number}
|
|
1871
|
+
*/
|
|
1872
|
+
getTileDuration() {}
|
|
1859
1873
|
};
|
|
1860
1874
|
/**
|
|
1861
1875
|
* PresentationTimeline.
|
|
@@ -3826,6 +3840,13 @@ shaka.polyfill.MediaCapabilities = class {
|
|
|
3826
3840
|
*/
|
|
3827
3841
|
static install() {}
|
|
3828
3842
|
};
|
|
3843
|
+
/**
|
|
3844
|
+
* A copy of the MediaCapabilities instance, to prevent Safari from
|
|
3845
|
+
* garbage-collecting the polyfilled method on it. We make it public and export
|
|
3846
|
+
* it to ensure that it is not stripped out by the compiler.
|
|
3847
|
+
* @type {MediaCapabilities}
|
|
3848
|
+
*/
|
|
3849
|
+
shaka.polyfill.MediaCapabilities.originalMcap;
|
|
3829
3850
|
/**
|
|
3830
3851
|
* @summary A polyfill to patch MSE bugs.
|
|
3831
3852
|
*/
|