shaka-player 4.4.2 → 4.4.3

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/demo/common/asset.js +5 -0
  3. package/demo/common/assets.js +20 -5
  4. package/demo/common/message_ids.js +1 -1
  5. package/demo/locales/en.json +2 -1
  6. package/demo/locales/source.json +5 -1
  7. package/demo/main.js +1 -1
  8. package/demo/search.js +3 -3
  9. package/dist/demo.compiled.debug.js +72 -70
  10. package/dist/demo.compiled.debug.map +3 -3
  11. package/dist/demo.compiled.js +72 -70
  12. package/dist/demo.compiled.map +3 -3
  13. package/dist/locales.js +30 -30
  14. package/dist/receiver.compiled.debug.js +38 -36
  15. package/dist/receiver.compiled.debug.map +3 -3
  16. package/dist/receiver.compiled.js +38 -36
  17. package/dist/receiver.compiled.map +3 -3
  18. package/dist/shaka-player.compiled.d.ts +222 -1
  19. package/dist/shaka-player.compiled.debug.d.ts +222 -1
  20. package/dist/shaka-player.compiled.debug.externs.js +271 -1
  21. package/dist/shaka-player.compiled.debug.js +233 -228
  22. package/dist/shaka-player.compiled.debug.map +3 -3
  23. package/dist/shaka-player.compiled.externs.js +271 -1
  24. package/dist/shaka-player.compiled.js +1035 -1028
  25. package/dist/shaka-player.compiled.map +3 -3
  26. package/dist/shaka-player.ui.d.ts +222 -1
  27. package/dist/shaka-player.ui.debug.d.ts +222 -1
  28. package/dist/shaka-player.ui.debug.externs.js +271 -1
  29. package/dist/shaka-player.ui.debug.js +256 -251
  30. package/dist/shaka-player.ui.debug.map +3 -3
  31. package/dist/shaka-player.ui.externs.js +271 -1
  32. package/dist/shaka-player.ui.js +1162 -1155
  33. package/dist/shaka-player.ui.map +3 -3
  34. package/docs/tutorials/offline.md +1 -1
  35. package/lib/dash/dash_parser.js +4 -1
  36. package/lib/hls/hls_parser.js +60 -24
  37. package/lib/media/segment_index.js +4 -4
  38. package/lib/media/segment_reference.js +6 -1
  39. package/lib/media/streaming_engine.js +14 -24
  40. package/lib/player.js +1 -1
  41. package/lib/text/cue.js +47 -47
  42. package/lib/text/vtt_text_parser.js +2 -2
  43. package/lib/util/cmcd_manager.js +6 -1
  44. package/lib/util/manifest_parser_utils.js +10 -4
  45. package/lib/util/platform.js +14 -0
  46. package/lib/util/ts_parser.js +3 -3
  47. package/package.json +1 -1
  48. package/test/dash/dash_parser_manifest_unit.js +5 -0
  49. package/test/dash/dash_parser_segment_base_unit.js +5 -0
  50. package/test/dash/dash_parser_segment_list_unit.js +21 -17
  51. package/test/dash/dash_parser_segment_template_unit.js +47 -0
  52. package/test/hls/hls_live_unit.js +33 -0
  53. package/test/hls/hls_parser_unit.js +2 -57
  54. package/test/test/util/dash_parser_util.js +16 -7
  55. package/test/text/vtt_text_parser_unit.js +2 -17
  56. package/test/transmuxer/transmuxer_integration.js +4 -4
  57. package/test/util/ts_parser_unit.js +1 -1
@@ -958,7 +958,7 @@ declare namespace shaka.media {
958
958
  */
959
959
  class InitSegmentReference {
960
960
  private noStructuralTyping_shaka_media_InitSegmentReference : any;
961
- constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView ) ;
961
+ constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView , aes128Key ? : shaka.extern.HlsAes128Key | null ) ;
962
962
  /**
963
963
  * Returns the offset from the start of the resource to the end of the
964
964
  * segment, inclusive. A value of null indicates that the segment extends
@@ -1915,6 +1915,176 @@ declare namespace shaka.text {
1915
1915
  class Cue {
1916
1916
  private noStructuralTyping_shaka_text_Cue : any;
1917
1917
  constructor (startTime : number , endTime : number , payload : string ) ;
1918
+ /**
1919
+ * Text background color as a CSS color, e.g. "#FFFFFF" or "white".
1920
+ */
1921
+ backgroundColor : string ;
1922
+ /**
1923
+ * The URL of the background image, e.g. "data:[mime type];base64,[data]".
1924
+ */
1925
+ backgroundImage : string ;
1926
+ /**
1927
+ * The border around this cue as a CSS border.
1928
+ */
1929
+ border : string ;
1930
+ /**
1931
+ * The number of horizontal and vertical cells into which the Root Container
1932
+ * Region area is divided.
1933
+ */
1934
+ cellResolution : { columns : number , rows : number } ;
1935
+ /**
1936
+ * Text color as a CSS color, e.g. "#FFFFFF" or "white".
1937
+ */
1938
+ color : string ;
1939
+ /**
1940
+ * Text direction of the cue.
1941
+ */
1942
+ direction : shaka.text.Cue.direction ;
1943
+ /**
1944
+ * Vertical alignments of the cues within their extents.
1945
+ * 'BEFORE' means displaying the captions at the top of the text display
1946
+ * container box, 'CENTER' means in the middle, 'AFTER' means at the bottom.
1947
+ */
1948
+ displayAlign : shaka.text.Cue.displayAlign ;
1949
+ /**
1950
+ * The end time of the cue in seconds, relative to the start of the
1951
+ * presentation.
1952
+ */
1953
+ endTime : number ;
1954
+ /**
1955
+ * Text font family.
1956
+ */
1957
+ fontFamily : string ;
1958
+ /**
1959
+ * Text font size in px or em (e.g. '100px'/'100em').
1960
+ */
1961
+ fontSize : string ;
1962
+ /**
1963
+ * Text font style. Normal, italic or oblique.
1964
+ */
1965
+ fontStyle : shaka.text.Cue.fontStyle ;
1966
+ /**
1967
+ * Text font weight. Either normal or bold.
1968
+ */
1969
+ fontWeight : shaka.text.Cue.fontWeight ;
1970
+ /**
1971
+ * Id of the cue.
1972
+ */
1973
+ id : string ;
1974
+ /**
1975
+ * If true, this represents a container element that is "above" the main
1976
+ * cues. For example, the <body> and <div> tags that contain the <p> tags
1977
+ * in a TTML file. This controls the flow of the final cues; any nested cues
1978
+ * within an "isContainer" cue will be laid out as separate lines.
1979
+ */
1980
+ isContainer : boolean ;
1981
+ /**
1982
+ * Text letter spacing as a CSS letter-spacing value.
1983
+ */
1984
+ letterSpacing : string ;
1985
+ /**
1986
+ * The offset from the display box in either number of lines or
1987
+ * percentage depending on the value of lineInterpretation.
1988
+ */
1989
+ line : number | null ;
1990
+ /**
1991
+ * Line alignment of the cue box.
1992
+ * Start alignment means the cue box’s top side (for horizontal cues), left
1993
+ * side (for vertical growing right), or right side (for vertical growing
1994
+ * left) is aligned at the line.
1995
+ * Center alignment means the cue box is centered at the line.
1996
+ * End alignment The cue box’s bottom side (for horizontal cues), right side
1997
+ * (for vertical growing right), or left side (for vertical growing left) is
1998
+ * aligned at the line.
1999
+ */
2000
+ lineAlign : shaka.text.Cue.lineAlign ;
2001
+ /**
2002
+ * Whether or not the cue only acts as a line break between two nested cues.
2003
+ * Should only appear in nested cues.
2004
+ */
2005
+ lineBreak : boolean ;
2006
+ /**
2007
+ * Separation between line areas inside the cue box in px or em
2008
+ * (e.g. '100px'/'100em'). If not specified, this should be no less than
2009
+ * the largest font size applied to the text in the cue.
2010
+ */
2011
+ lineHeight : string ;
2012
+ /**
2013
+ * The way to interpret line field. (Either as an integer line number or
2014
+ * percentage from the display box).
2015
+ */
2016
+ lineInterpretation : shaka.text.Cue.lineInterpretation ;
2017
+ /**
2018
+ * Text line padding as a CSS line-padding value.
2019
+ */
2020
+ linePadding : string ;
2021
+ /**
2022
+ * Nested cues, which should be laid out horizontally in one block.
2023
+ * Top-level cues are blocks, and nested cues are inline elements.
2024
+ * Cues can be nested arbitrarily deeply.
2025
+ */
2026
+ nestedCues : shaka.text.Cue [] ;
2027
+ /**
2028
+ * Opacity of the cue element, from 0-1.
2029
+ */
2030
+ opacity : number ;
2031
+ /**
2032
+ * The text payload of the cue. If nestedCues is non-empty, this should be
2033
+ * empty. Top-level block containers should have no payload of their own.
2034
+ */
2035
+ payload : string ;
2036
+ /**
2037
+ * The indent (in percent) of the cue box in the direction defined by the
2038
+ * writing direction.
2039
+ */
2040
+ position : number | null ;
2041
+ /**
2042
+ * Position alignment of the cue.
2043
+ */
2044
+ positionAlign : shaka.text.Cue.positionAlign ;
2045
+ /**
2046
+ * The region to render the cue into. Only supported on top-level cues,
2047
+ * because nested cues are inline elements.
2048
+ */
2049
+ region : shaka.text.CueRegion | null ;
2050
+ /**
2051
+ * Size of the cue box (in percents), where 0 means "auto".
2052
+ */
2053
+ size : number ;
2054
+ /**
2055
+ * The start time of the cue in seconds, relative to the start of the
2056
+ * presentation.
2057
+ */
2058
+ startTime : number ;
2059
+ /**
2060
+ * Alignment of the text inside the cue box.
2061
+ */
2062
+ textAlign : shaka.text.Cue.textAlign ;
2063
+ /**
2064
+ * Text decoration. A combination of underline, overline
2065
+ * and line through. Empty array means no decoration.
2066
+ */
2067
+ textDecoration : shaka.text.Cue.textDecoration [] ;
2068
+ /**
2069
+ * Text shadow color as a CSS text-shadow value.
2070
+ */
2071
+ textShadow : string ;
2072
+ /**
2073
+ * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
2074
+ */
2075
+ textStrokeColor : string ;
2076
+ /**
2077
+ * Text stroke width as a CSS stroke-width value.
2078
+ */
2079
+ textStrokeWidth : string ;
2080
+ /**
2081
+ * Whether or not line wrapping should be applied to the cue.
2082
+ */
2083
+ wrapLine : boolean ;
2084
+ /**
2085
+ * Text writing mode of the cue.
2086
+ */
2087
+ writingMode : shaka.text.Cue.writingMode ;
1918
2088
  }
1919
2089
  }
1920
2090
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -2061,6 +2231,57 @@ declare namespace shaka.text.Cue {
2061
2231
  declare namespace shaka.text {
2062
2232
  class CueRegion {
2063
2233
  private noStructuralTyping_shaka_text_CueRegion : any;
2234
+ /**
2235
+ * The width of the rendering area in heightUnits.
2236
+ */
2237
+ height : number ;
2238
+ /**
2239
+ * The units (percentage, pixels or lines) the region height is in.
2240
+ */
2241
+ heightUnits : shaka.text.CueRegion.units ;
2242
+ /**
2243
+ * Region identifier.
2244
+ */
2245
+ id : string ;
2246
+ /**
2247
+ * The X offset to start the rendering area in percentage (0-100) of this
2248
+ * region width.
2249
+ */
2250
+ regionAnchorX : number ;
2251
+ /**
2252
+ * The Y offset to start the rendering area in percentage (0-100) of the
2253
+ * region height.
2254
+ */
2255
+ regionAnchorY : number ;
2256
+ /**
2257
+ * If scroll=UP, it means that cues in the region will be added to the
2258
+ * bottom of the region and will push any already displayed cues in the
2259
+ * region up. Otherwise (scroll=NONE) cues will stay fixed at the location
2260
+ * they were first painted in.
2261
+ */
2262
+ scroll : shaka.text.CueRegion.scrollMode ;
2263
+ /**
2264
+ * The units (percentage or pixels) the region viewportAnchors are in.
2265
+ */
2266
+ viewportAnchorUnits : shaka.text.CueRegion.units ;
2267
+ /**
2268
+ * The X offset to start the rendering area in viewportAnchorUnits of the
2269
+ * video width.
2270
+ */
2271
+ viewportAnchorX : number ;
2272
+ /**
2273
+ * The X offset to start the rendering area in viewportAnchorUnits of the
2274
+ * video height.
2275
+ */
2276
+ viewportAnchorY : number ;
2277
+ /**
2278
+ * The width of the rendering area in widthUnits.
2279
+ */
2280
+ width : number ;
2281
+ /**
2282
+ * The units (percentage or pixels) the region width is in.
2283
+ */
2284
+ widthUnits : shaka.text.CueRegion.units ;
2064
2285
  }
2065
2286
  }
2066
2287
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -958,7 +958,7 @@ declare namespace shaka.media {
958
958
  */
959
959
  class InitSegmentReference {
960
960
  private noStructuralTyping_shaka_media_InitSegmentReference : any;
961
- constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView ) ;
961
+ constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView , aes128Key ? : shaka.extern.HlsAes128Key | null ) ;
962
962
  /**
963
963
  * Returns the offset from the start of the resource to the end of the
964
964
  * segment, inclusive. A value of null indicates that the segment extends
@@ -1915,6 +1915,176 @@ declare namespace shaka.text {
1915
1915
  class Cue {
1916
1916
  private noStructuralTyping_shaka_text_Cue : any;
1917
1917
  constructor (startTime : number , endTime : number , payload : string ) ;
1918
+ /**
1919
+ * Text background color as a CSS color, e.g. "#FFFFFF" or "white".
1920
+ */
1921
+ backgroundColor : string ;
1922
+ /**
1923
+ * The URL of the background image, e.g. "data:[mime type];base64,[data]".
1924
+ */
1925
+ backgroundImage : string ;
1926
+ /**
1927
+ * The border around this cue as a CSS border.
1928
+ */
1929
+ border : string ;
1930
+ /**
1931
+ * The number of horizontal and vertical cells into which the Root Container
1932
+ * Region area is divided.
1933
+ */
1934
+ cellResolution : { columns : number , rows : number } ;
1935
+ /**
1936
+ * Text color as a CSS color, e.g. "#FFFFFF" or "white".
1937
+ */
1938
+ color : string ;
1939
+ /**
1940
+ * Text direction of the cue.
1941
+ */
1942
+ direction : shaka.text.Cue.direction ;
1943
+ /**
1944
+ * Vertical alignments of the cues within their extents.
1945
+ * 'BEFORE' means displaying the captions at the top of the text display
1946
+ * container box, 'CENTER' means in the middle, 'AFTER' means at the bottom.
1947
+ */
1948
+ displayAlign : shaka.text.Cue.displayAlign ;
1949
+ /**
1950
+ * The end time of the cue in seconds, relative to the start of the
1951
+ * presentation.
1952
+ */
1953
+ endTime : number ;
1954
+ /**
1955
+ * Text font family.
1956
+ */
1957
+ fontFamily : string ;
1958
+ /**
1959
+ * Text font size in px or em (e.g. '100px'/'100em').
1960
+ */
1961
+ fontSize : string ;
1962
+ /**
1963
+ * Text font style. Normal, italic or oblique.
1964
+ */
1965
+ fontStyle : shaka.text.Cue.fontStyle ;
1966
+ /**
1967
+ * Text font weight. Either normal or bold.
1968
+ */
1969
+ fontWeight : shaka.text.Cue.fontWeight ;
1970
+ /**
1971
+ * Id of the cue.
1972
+ */
1973
+ id : string ;
1974
+ /**
1975
+ * If true, this represents a container element that is "above" the main
1976
+ * cues. For example, the <body> and <div> tags that contain the <p> tags
1977
+ * in a TTML file. This controls the flow of the final cues; any nested cues
1978
+ * within an "isContainer" cue will be laid out as separate lines.
1979
+ */
1980
+ isContainer : boolean ;
1981
+ /**
1982
+ * Text letter spacing as a CSS letter-spacing value.
1983
+ */
1984
+ letterSpacing : string ;
1985
+ /**
1986
+ * The offset from the display box in either number of lines or
1987
+ * percentage depending on the value of lineInterpretation.
1988
+ */
1989
+ line : number | null ;
1990
+ /**
1991
+ * Line alignment of the cue box.
1992
+ * Start alignment means the cue box’s top side (for horizontal cues), left
1993
+ * side (for vertical growing right), or right side (for vertical growing
1994
+ * left) is aligned at the line.
1995
+ * Center alignment means the cue box is centered at the line.
1996
+ * End alignment The cue box’s bottom side (for horizontal cues), right side
1997
+ * (for vertical growing right), or left side (for vertical growing left) is
1998
+ * aligned at the line.
1999
+ */
2000
+ lineAlign : shaka.text.Cue.lineAlign ;
2001
+ /**
2002
+ * Whether or not the cue only acts as a line break between two nested cues.
2003
+ * Should only appear in nested cues.
2004
+ */
2005
+ lineBreak : boolean ;
2006
+ /**
2007
+ * Separation between line areas inside the cue box in px or em
2008
+ * (e.g. '100px'/'100em'). If not specified, this should be no less than
2009
+ * the largest font size applied to the text in the cue.
2010
+ */
2011
+ lineHeight : string ;
2012
+ /**
2013
+ * The way to interpret line field. (Either as an integer line number or
2014
+ * percentage from the display box).
2015
+ */
2016
+ lineInterpretation : shaka.text.Cue.lineInterpretation ;
2017
+ /**
2018
+ * Text line padding as a CSS line-padding value.
2019
+ */
2020
+ linePadding : string ;
2021
+ /**
2022
+ * Nested cues, which should be laid out horizontally in one block.
2023
+ * Top-level cues are blocks, and nested cues are inline elements.
2024
+ * Cues can be nested arbitrarily deeply.
2025
+ */
2026
+ nestedCues : shaka.text.Cue [] ;
2027
+ /**
2028
+ * Opacity of the cue element, from 0-1.
2029
+ */
2030
+ opacity : number ;
2031
+ /**
2032
+ * The text payload of the cue. If nestedCues is non-empty, this should be
2033
+ * empty. Top-level block containers should have no payload of their own.
2034
+ */
2035
+ payload : string ;
2036
+ /**
2037
+ * The indent (in percent) of the cue box in the direction defined by the
2038
+ * writing direction.
2039
+ */
2040
+ position : number | null ;
2041
+ /**
2042
+ * Position alignment of the cue.
2043
+ */
2044
+ positionAlign : shaka.text.Cue.positionAlign ;
2045
+ /**
2046
+ * The region to render the cue into. Only supported on top-level cues,
2047
+ * because nested cues are inline elements.
2048
+ */
2049
+ region : shaka.text.CueRegion | null ;
2050
+ /**
2051
+ * Size of the cue box (in percents), where 0 means "auto".
2052
+ */
2053
+ size : number ;
2054
+ /**
2055
+ * The start time of the cue in seconds, relative to the start of the
2056
+ * presentation.
2057
+ */
2058
+ startTime : number ;
2059
+ /**
2060
+ * Alignment of the text inside the cue box.
2061
+ */
2062
+ textAlign : shaka.text.Cue.textAlign ;
2063
+ /**
2064
+ * Text decoration. A combination of underline, overline
2065
+ * and line through. Empty array means no decoration.
2066
+ */
2067
+ textDecoration : shaka.text.Cue.textDecoration [] ;
2068
+ /**
2069
+ * Text shadow color as a CSS text-shadow value.
2070
+ */
2071
+ textShadow : string ;
2072
+ /**
2073
+ * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
2074
+ */
2075
+ textStrokeColor : string ;
2076
+ /**
2077
+ * Text stroke width as a CSS stroke-width value.
2078
+ */
2079
+ textStrokeWidth : string ;
2080
+ /**
2081
+ * Whether or not line wrapping should be applied to the cue.
2082
+ */
2083
+ wrapLine : boolean ;
2084
+ /**
2085
+ * Text writing mode of the cue.
2086
+ */
2087
+ writingMode : shaka.text.Cue.writingMode ;
1918
2088
  }
1919
2089
  }
1920
2090
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
@@ -2061,6 +2231,57 @@ declare namespace shaka.text.Cue {
2061
2231
  declare namespace shaka.text {
2062
2232
  class CueRegion {
2063
2233
  private noStructuralTyping_shaka_text_CueRegion : any;
2234
+ /**
2235
+ * The width of the rendering area in heightUnits.
2236
+ */
2237
+ height : number ;
2238
+ /**
2239
+ * The units (percentage, pixels or lines) the region height is in.
2240
+ */
2241
+ heightUnits : shaka.text.CueRegion.units ;
2242
+ /**
2243
+ * Region identifier.
2244
+ */
2245
+ id : string ;
2246
+ /**
2247
+ * The X offset to start the rendering area in percentage (0-100) of this
2248
+ * region width.
2249
+ */
2250
+ regionAnchorX : number ;
2251
+ /**
2252
+ * The Y offset to start the rendering area in percentage (0-100) of the
2253
+ * region height.
2254
+ */
2255
+ regionAnchorY : number ;
2256
+ /**
2257
+ * If scroll=UP, it means that cues in the region will be added to the
2258
+ * bottom of the region and will push any already displayed cues in the
2259
+ * region up. Otherwise (scroll=NONE) cues will stay fixed at the location
2260
+ * they were first painted in.
2261
+ */
2262
+ scroll : shaka.text.CueRegion.scrollMode ;
2263
+ /**
2264
+ * The units (percentage or pixels) the region viewportAnchors are in.
2265
+ */
2266
+ viewportAnchorUnits : shaka.text.CueRegion.units ;
2267
+ /**
2268
+ * The X offset to start the rendering area in viewportAnchorUnits of the
2269
+ * video width.
2270
+ */
2271
+ viewportAnchorX : number ;
2272
+ /**
2273
+ * The X offset to start the rendering area in viewportAnchorUnits of the
2274
+ * video height.
2275
+ */
2276
+ viewportAnchorY : number ;
2277
+ /**
2278
+ * The width of the rendering area in widthUnits.
2279
+ */
2280
+ width : number ;
2281
+ /**
2282
+ * The units (percentage or pixels) the region width is in.
2283
+ */
2284
+ widthUnits : shaka.text.CueRegion.units ;
2064
2285
  }
2065
2286
  }
2066
2287
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js