shaka-player 4.1.3 → 4.1.5

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 (85) hide show
  1. package/.github/workflows/build-and-test.yaml +31 -16
  2. package/.github/workflows/custom-actions/set-commit-status/action.yaml +1 -5
  3. package/.github/workflows/deflake.yaml +28 -0
  4. package/.github/workflows/selenium-lab-tests.yaml +168 -54
  5. package/AUTHORS +2 -0
  6. package/CHANGELOG.md +29 -0
  7. package/CONTRIBUTORS +2 -0
  8. package/demo/common/message_ids.js +1 -0
  9. package/demo/config.js +3 -1
  10. package/demo/locales/en.json +1 -0
  11. package/demo/locales/source.json +4 -0
  12. package/dist/controls.css +1 -1
  13. package/dist/controls.css.map +1 -1
  14. package/dist/demo.compiled.debug.js +6 -6
  15. package/dist/demo.compiled.debug.map +2 -2
  16. package/dist/demo.compiled.js +6 -6
  17. package/dist/demo.compiled.map +2 -2
  18. package/dist/deps.js +1 -1
  19. package/dist/locales.js +31 -31
  20. package/dist/receiver.compiled.debug.js +3 -3
  21. package/dist/receiver.compiled.debug.map +2 -2
  22. package/dist/receiver.compiled.js +3 -3
  23. package/dist/receiver.compiled.map +2 -2
  24. package/dist/shaka-player.compiled.d.ts +2 -2
  25. package/dist/shaka-player.compiled.debug.d.ts +2 -2
  26. package/dist/shaka-player.compiled.debug.externs.js +24 -24
  27. package/dist/shaka-player.compiled.debug.js +209 -200
  28. package/dist/shaka-player.compiled.debug.map +4 -4
  29. package/dist/shaka-player.compiled.externs.js +24 -24
  30. package/dist/shaka-player.compiled.js +736 -733
  31. package/dist/shaka-player.compiled.map +4 -4
  32. package/dist/shaka-player.ui.d.ts +2 -2
  33. package/dist/shaka-player.ui.debug.d.ts +2 -2
  34. package/dist/shaka-player.ui.debug.externs.js +24 -24
  35. package/dist/shaka-player.ui.debug.js +263 -254
  36. package/dist/shaka-player.ui.debug.map +4 -4
  37. package/dist/shaka-player.ui.externs.js +24 -24
  38. package/dist/shaka-player.ui.js +900 -896
  39. package/dist/shaka-player.ui.map +4 -4
  40. package/docs/jsdoc-template/publish.js +33 -0
  41. package/docs/jsdoc-template/tmpl/container.tmpl +4 -1
  42. package/docs/jsdoc.conf.json +1 -0
  43. package/externs/shaka/manifest_parser.js +4 -1
  44. package/externs/shaka/player.js +7 -1
  45. package/lib/ads/client_side_ad_manager.js +7 -0
  46. package/lib/cast/cast_sender.js +39 -14
  47. package/lib/cea/cea608_memory.js +4 -0
  48. package/lib/hls/hls_parser.js +30 -8
  49. package/lib/media/drm_engine.js +52 -1
  50. package/lib/media/media_source_engine.js +43 -15
  51. package/lib/media/streaming_engine.js +79 -14
  52. package/lib/offline/storage.js +1 -0
  53. package/lib/player.js +29 -5
  54. package/lib/text/ttml_text_parser.js +6 -0
  55. package/lib/text/ui_text_displayer.js +8 -0
  56. package/lib/util/platform.js +24 -0
  57. package/lib/util/player_configuration.js +5 -0
  58. package/lib/util/pssh.js +2 -1
  59. package/lib/util/stream_utils.js +2 -1
  60. package/package.json +1 -1
  61. package/test/cea/cea608_memory_unit.js +88 -0
  62. package/test/dash/dash_parser_content_protection_unit.js +1 -0
  63. package/test/dash/dash_parser_live_unit.js +1 -0
  64. package/test/dash/dash_parser_manifest_unit.js +1 -0
  65. package/test/dash/dash_parser_segment_base_unit.js +1 -0
  66. package/test/dash/dash_parser_segment_list_unit.js +1 -0
  67. package/test/dash/dash_parser_segment_template_unit.js +1 -0
  68. package/test/hls/hls_live_unit.js +169 -247
  69. package/test/hls/hls_parser_unit.js +60 -2
  70. package/test/media/drm_engine_unit.js +90 -0
  71. package/test/media/media_source_engine_integration.js +36 -0
  72. package/test/media/media_source_engine_unit.js +118 -1
  73. package/test/media/streaming_engine_integration.js +9 -7
  74. package/test/media/streaming_engine_unit.js +29 -0
  75. package/test/offline/offline_integration.js +3 -3
  76. package/test/player_integration.js +2 -2
  77. package/test/player_src_equals_integration.js +2 -0
  78. package/test/player_unit.js +39 -1
  79. package/test/test/assets/small.mp4 +0 -0
  80. package/test/test/util/dash_parser_util.js +2 -0
  81. package/test/test/util/ttml_utils.js +0 -2
  82. package/test/text/ttml_text_parser_unit.js +46 -0
  83. package/test/ui/text_displayer_layout_unit.js +17 -2
  84. package/ui/controls.js +0 -7
  85. package/ui/less/ad_controls.less +4 -0
@@ -3521,7 +3521,7 @@ declare namespace shaka.extern.ManifestParser {
3521
3521
  }
3522
3522
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
3523
3523
  declare namespace shaka.extern.ManifestParser {
3524
- type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any } ;
3524
+ type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
3525
3525
  }
3526
3526
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
3527
3527
  declare namespace shaka.extern {
@@ -3818,7 +3818,7 @@ declare namespace shaka.extern {
3818
3818
  }
3819
3819
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3820
3820
  declare namespace shaka.extern {
3821
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
3821
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
3822
3822
  }
3823
3823
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3824
3824
  declare namespace shaka.extern {
@@ -3521,7 +3521,7 @@ declare namespace shaka.extern.ManifestParser {
3521
3521
  }
3522
3522
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
3523
3523
  declare namespace shaka.extern.ManifestParser {
3524
- type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any } ;
3524
+ type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
3525
3525
  }
3526
3526
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
3527
3527
  declare namespace shaka.extern {
@@ -3818,7 +3818,7 @@ declare namespace shaka.extern {
3818
3818
  }
3819
3819
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3820
3820
  declare namespace shaka.extern {
3821
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
3821
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
3822
3822
  }
3823
3823
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
3824
3824
  declare namespace shaka.extern {
@@ -1420,30 +1420,6 @@ shaka.util.EventManager = class {
1420
1420
  * @typedef {function(!Event)}
1421
1421
  */
1422
1422
  shaka.util.EventManager.ListenerType;
1423
- /**
1424
- * @summary An interface to register manifest parsers.
1425
- */
1426
- shaka.media.ManifestParser = class {
1427
- /**
1428
- * Registers a manifest parser by file extension.
1429
- * @param {string} extension The file extension of the manifest.
1430
- * @param {shaka.extern.ManifestParser.Factory} parserFactory The factory
1431
- * used to create parser instances.
1432
- */
1433
- static registerParserByExtension(extension, parserFactory) {}
1434
- /**
1435
- * Registers a manifest parser by MIME type.
1436
- * @param {string} mimeType The MIME type of the manifest.
1437
- * @param {shaka.extern.ManifestParser.Factory} parserFactory The factory
1438
- * used to create parser instances.
1439
- */
1440
- static registerParserByMime(mimeType, parserFactory) {}
1441
- /**
1442
- * Unregisters a manifest parser by MIME type.
1443
- * @param {string} mimeType The MIME type of the manifest.
1444
- */
1445
- static unregisterParserByMime(mimeType) {}
1446
- };
1447
1423
  /**
1448
1424
  * @summary DataViewReader abstracts a DataView object.
1449
1425
  */
@@ -1614,6 +1590,30 @@ shaka.util.Mp4Parser = class {
1614
1590
  * @typedef {function(!shaka.extern.ParsedBox)}
1615
1591
  */
1616
1592
  shaka.util.Mp4Parser.CallbackType;
1593
+ /**
1594
+ * @summary An interface to register manifest parsers.
1595
+ */
1596
+ shaka.media.ManifestParser = class {
1597
+ /**
1598
+ * Registers a manifest parser by file extension.
1599
+ * @param {string} extension The file extension of the manifest.
1600
+ * @param {shaka.extern.ManifestParser.Factory} parserFactory The factory
1601
+ * used to create parser instances.
1602
+ */
1603
+ static registerParserByExtension(extension, parserFactory) {}
1604
+ /**
1605
+ * Registers a manifest parser by MIME type.
1606
+ * @param {string} mimeType The MIME type of the manifest.
1607
+ * @param {shaka.extern.ManifestParser.Factory} parserFactory The factory
1608
+ * used to create parser instances.
1609
+ */
1610
+ static registerParserByMime(mimeType, parserFactory) {}
1611
+ /**
1612
+ * Unregisters a manifest parser by MIME type.
1613
+ * @param {string} mimeType The MIME type of the manifest.
1614
+ */
1615
+ static unregisterParserByMime(mimeType) {}
1616
+ };
1617
1617
  /**
1618
1618
  * Creates an InitSegmentReference, which provides the location to an
1619
1619
  * initialization segment.