shaka-player 4.0.2 → 4.0.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.
- package/AUTHORS +1 -0
- package/CHANGELOG.md +13 -0
- package/CONTRIBUTORS +1 -0
- package/build/test.py +1 -1
- package/demo/common/assets.js +1 -1
- package/demo/main.js +3 -3
- package/dist/demo.compiled.debug.js +3 -3
- package/dist/demo.compiled.debug.map +2 -2
- package/dist/demo.compiled.js +3 -3
- package/dist/demo.compiled.map +2 -2
- package/dist/locales.js +32 -32
- package/dist/receiver.compiled.debug.js +1 -1
- package/dist/receiver.compiled.debug.map +1 -1
- package/dist/receiver.compiled.js +1 -1
- package/dist/receiver.compiled.map +1 -1
- package/dist/shaka-player.compiled.debug.externs.js +3 -2
- package/dist/shaka-player.compiled.debug.js +191 -185
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +3 -2
- package/dist/shaka-player.compiled.js +720 -715
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.debug.externs.js +3 -2
- package/dist/shaka-player.ui.debug.js +223 -216
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +3 -2
- package/dist/shaka-player.ui.js +896 -893
- package/dist/shaka-player.ui.map +4 -4
- package/externs/shaka/player.js +4 -2
- package/lib/hls/hls_parser.js +177 -68
- package/lib/media/segment_index.js +26 -1
- package/lib/media/segment_reference.js +10 -3
- package/lib/media/streaming_engine.js +1 -1
- package/lib/player.js +1 -1
- package/lib/util/stream_utils.js +1 -0
- package/package.json +2 -2
- package/test/hls/hls_parser_unit.js +102 -8
package/AUTHORS
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.0.3](https://github.com/shaka-project/shaka-player/compare/v4.0.2...v4.0.3) (2022-06-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **demo:** allow switch between UITextDisplayer and SimpleTextDisplayer ([#4275](https://github.com/shaka-project/shaka-player/issues/4275)) ([e8c04cd](https://github.com/shaka-project/shaka-player/commit/e8c04cd37e987c71ed6166454d40204cc693b947))
|
|
9
|
+
* **demo:** erroneous FairPlay keysystem in demo ([#4276](https://github.com/shaka-project/shaka-player/issues/4276)) ([1abfdb1](https://github.com/shaka-project/shaka-player/commit/1abfdb16e0bade37e6a21e4decb5600fdcbd296b))
|
|
10
|
+
* **hls:** Fix AV sync issues, fallback to sequence numbers if PROGRAM-DATE-TIME ignored ([#4289](https://github.com/shaka-project/shaka-player/issues/4289)) ([629a21d](https://github.com/shaka-project/shaka-player/commit/629a21dbe7b97eab04a61a08e39e76cf5263c352)), closes [#4287](https://github.com/shaka-project/shaka-player/issues/4287)
|
|
11
|
+
* New EME polyfill fixes EME/MCap issues on some smart TVs ([#4279](https://github.com/shaka-project/shaka-player/issues/4279)) ([e55350f](https://github.com/shaka-project/shaka-player/commit/e55350f1377a9fba49797cd59fb72983367b7a97))
|
|
12
|
+
* Populate track's spatialAudio property ([#4291](https://github.com/shaka-project/shaka-player/issues/4291)) ([46343f0](https://github.com/shaka-project/shaka-player/commit/46343f0dea9b4ce3f9424afe9a9dff96941eba8d))
|
|
13
|
+
* Remove IE 11 from default browsers for Windows ([#4272](https://github.com/shaka-project/shaka-player/issues/4272)) ([1e83080](https://github.com/shaka-project/shaka-player/commit/1e8308058cdfa9745dbd2ac37e427d89db0f6849)), closes [#4271](https://github.com/shaka-project/shaka-player/issues/4271)
|
|
14
|
+
* Use middle segment when guessing MIME type on HLS ([#4269](https://github.com/shaka-project/shaka-player/issues/4269)) ([#4270](https://github.com/shaka-project/shaka-player/issues/4270)) ([5406429](https://github.com/shaka-project/shaka-player/commit/5406429940e8ce6287356a24c495df11d2365d07))
|
|
15
|
+
|
|
3
16
|
## [4.0.2](https://github.com/shaka-project/shaka-player/compare/v4.0.1...v4.0.2) (2022-06-02)
|
|
4
17
|
|
|
5
18
|
|
package/CONTRIBUTORS
CHANGED
package/build/test.py
CHANGED
|
@@ -104,7 +104,7 @@ def _GetDefaultBrowsers():
|
|
|
104
104
|
return ['Chrome','Edge','Firefox','Safari']
|
|
105
105
|
|
|
106
106
|
if shakaBuildHelpers.is_windows() or shakaBuildHelpers.is_cygwin():
|
|
107
|
-
return ['Chrome','Edge','Firefox'
|
|
107
|
+
return ['Chrome','Edge','Firefox']
|
|
108
108
|
|
|
109
109
|
raise Error('Unrecognized system: %s' % platform.uname()[0])
|
|
110
110
|
|
package/demo/common/assets.js
CHANGED
|
@@ -84,7 +84,7 @@ shakaAssets.identifierForKeySystem = (keySystem) => {
|
|
|
84
84
|
const KeySystem = shakaAssets.KeySystem;
|
|
85
85
|
switch (keySystem) {
|
|
86
86
|
case KeySystem.CLEAR_KEY: return 'org.w3.clearkey';
|
|
87
|
-
case KeySystem.FAIRPLAY: return 'com.apple.fps
|
|
87
|
+
case KeySystem.FAIRPLAY: return 'com.apple.fps';
|
|
88
88
|
case KeySystem.PLAYREADY: return 'com.microsoft.playready';
|
|
89
89
|
case KeySystem.WIDEVINE: return 'com.widevine.alpha';
|
|
90
90
|
default: return 'no drm protection';
|
package/demo/main.js
CHANGED
|
@@ -1233,9 +1233,6 @@ shakaDemo.Main = class {
|
|
|
1233
1233
|
// The currently-selected asset changed, so update asset cards.
|
|
1234
1234
|
this.dispatchEventWithName_('shaka-main-selected-asset-changed');
|
|
1235
1235
|
|
|
1236
|
-
await this.drmConfiguration_(asset);
|
|
1237
|
-
this.controls_.getCastProxy().setAppData({'asset': asset});
|
|
1238
|
-
|
|
1239
1236
|
// Enable the correct set of controls before loading.
|
|
1240
1237
|
// The video container influences the TextDisplayer used.
|
|
1241
1238
|
if (this.nativeControlsEnabled_) {
|
|
@@ -1250,6 +1247,9 @@ shakaDemo.Main = class {
|
|
|
1250
1247
|
this.player_.setVideoContainer(this.container_);
|
|
1251
1248
|
}
|
|
1252
1249
|
|
|
1250
|
+
await this.drmConfiguration_(asset);
|
|
1251
|
+
this.controls_.getCastProxy().setAppData({'asset': asset});
|
|
1252
|
+
|
|
1253
1253
|
// Finally, the asset can be loaded.
|
|
1254
1254
|
let manifestUri = asset.manifestUri;
|
|
1255
1255
|
// If we have an offline copy, use that. If the offlineUri field is null,
|
|
@@ -161,7 +161,7 @@ shakaAssets.Source={CUSTOM:shakaDemo.MessageIds.CUSTOM,SHAKA:shakaDemo.MessageId
|
|
|
161
161
|
MICROSOFT:shakaDemo.MessageIds.MICROSOFT};shakaAssets.KeySystem={CLEAR_KEY:shakaDemo.MessageIds.CLEAR_KEY,FAIRPLAY:shakaDemo.MessageIds.FAIRPLAY,PLAYREADY:shakaDemo.MessageIds.PLAYREADY,WIDEVINE:shakaDemo.MessageIds.WIDEVINE,CLEAR:shakaDemo.MessageIds.CLEAR};
|
|
162
162
|
shakaAssets.AdTag={SINGLE_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=",SINGLE_NON_LINEAR_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=480x70&iu=/124319096/external/single_ad_samples&ciu_szs=300x250 &impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dnonlinear&correlator=",
|
|
163
163
|
SINGLE_SKIPPABLE_AD:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dskippablelinear&correlator=",AD_POD_PREROLL_MIDROLL_POSTROLL:"https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpostpod&cmsid=496&vid=short_onecue&correlator="};
|
|
164
|
-
shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps
|
|
164
|
+
shakaAssets.identifierForKeySystem=function(a){var b=shakaAssets.KeySystem;switch(a){case b.CLEAR_KEY:return"org.w3.clearkey";case b.FAIRPLAY:return"com.apple.fps";case b.PLAYREADY:return"com.microsoft.playready";case b.WIDEVINE:return"com.widevine.alpha";default:return"no drm protection"}};
|
|
165
165
|
shakaAssets.Feature={TRICK_MODE:shakaDemo.MessageIds.TRICK_MODE,XLINK:shakaDemo.MessageIds.XLINK,SUBTITLES:shakaDemo.MessageIds.SUBTITLES,CAPTIONS:shakaDemo.MessageIds.CAPTIONS,MULTIPLE_LANGUAGES:shakaDemo.MessageIds.MULTIPLE_LANGUAGES,AUDIO_ONLY:shakaDemo.MessageIds.AUDIO_ONLY,OFFLINE:shakaDemo.MessageIds.OFFLINE,STORED:shakaDemo.MessageIds.STORED,ADS:shakaDemo.MessageIds.ADS,LIVE:shakaDemo.MessageIds.LIVE,VOD:shakaDemo.MessageIds.VOD,WEBM:shakaDemo.MessageIds.WEBM,MP4:shakaDemo.MessageIds.MP4,MP2TS:shakaDemo.MessageIds.MP2TS,
|
|
166
166
|
CONTAINERLESS:shakaDemo.MessageIds.CONTAINERLESS,HIGH_DEFINITION:shakaDemo.MessageIds.HIGH_DEFINITION,ULTRA_HIGH_DEFINITION:shakaDemo.MessageIds.ULTRA_HIGH_DEFINITION,SURROUND:shakaDemo.MessageIds.SURROUND,DASH:shakaDemo.MessageIds.DASH,HLS:shakaDemo.MessageIds.HLS,THUMBNAILS:shakaDemo.MessageIds.THUMBNAILS};shakaAssets.lastUplynkPrefix="";
|
|
167
167
|
shakaAssets.UplynkResponseFilter=function(a,b){a==shaka.net.NetworkingEngine.RequestType.MANIFEST&&(shakaAssets.lastUplynkPrefix=b.headers["x-uplynk-prefix"]?b.headers["x-uplynk-prefix"]:"")};
|
|
@@ -401,8 +401,8 @@ null);this.remakeHash()};
|
|
|
401
401
|
shakaDemo.Main.prototype.drmConfiguration_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){d=b?b.getNetworkingEngine():c.player_.getNetworkingEngine();goog.asserts.assert(d,"There should be a net engine.");a.applyFilters(d);e=a.getConfiguration();b?b.configure(e):(c.player_.resetConfiguration(),c.player_.configure(c.desiredConfig_),c.player_.configure(e));f=b?b.getConfiguration():c.player_.getConfiguration();if(!a.certificateUri){g=
|
|
402
402
|
$jscomp.makeIterator(a.licenseServers.keys());for(h=g.next();!h.done;h=g.next())k=h.value,f.drm.advanced[k]&&delete f.drm.advanced[k].serverCertificate;return q.jumpTo(2)}return q.yield(c.requestCertificate_(a.certificateUri,d),3)}if(2!=q.nextAddress)for(l=q.yieldResult,m=shaka.util.BufferUtils.toUint8(l),n=$jscomp.makeIterator(a.licenseServers.keys()),h=n.next();!h.done;h=n.next())p=h.value,f.drm.advanced[p]=f.drm.advanced[p]||{},f.drm.advanced[p].serverCertificate=m;b?b.configure(f):c.player_.configure("drm.advanced",
|
|
403
403
|
f.drm.advanced);c.remakeHash();q.jumpToEnd()})};shakaDemo.Main.prototype.showPlayer_=function(){var a=document.getElementById("video-bar");this.showElement_(a);this.closeError_();this.video_.poster=shakaDemo.Main.mainPoster_;a.scrollIntoView({behavior:"smooth",block:"start"})};
|
|
404
|
-
shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),
|
|
405
|
-
|
|
404
|
+
shakaDemo.Main.prototype.loadAsset=function(a){var b=this,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){switch(k.nextAddress){case 1:return k.setCatchFinallyBlocks(2),b.selectedAsset=a,b.showPlayer_(),b.dispatchEventWithName_("shaka-main-selected-asset-changed"),b.nativeControlsEnabled_?(b.controls_.setEnabledShakaControls(!1),b.controls_.setEnabledNativeControls(!0),b.player_.setVideoContainer(null)):(b.controls_.setEnabledShakaControls(!0),b.controls_.setEnabledNativeControls(!1),
|
|
405
|
+
b.player_.setVideoContainer(b.container_)),k.yield(b.drmConfiguration_(a),4);case 4:b.controls_.getCastProxy().setAppData({asset:a});c=a.manifestUri;a.storedContent&&a.storedContent.offlineUri&&(c=a.storedContent.offlineUri);if(!(a.imaAssetKey||a.imaContentSrcId&&a.imaVideoId)){k.jumpTo(5);break}return k.yield(b.getManifestUriFromAdManager_(a),6);case 6:c=k.yieldResult;case 5:return k.yield(b.player_.load(c,null,a.mimeType||void 0),7);case 7:b.player_.isAudioOnly()&&(b.video_.poster=shakaDemo.Main.audioOnlyPoster_);
|
|
406
406
|
if((d=b.player_.getAdManager())&&a.adTagUri)try{goog.asserts.assert(null!=b.video_,"this.video should exist!"),d.initClientSide(b.controls_.getClientSideAdContainer(),b.video_),e=new google.ima.AdsRequest,e.adTagUrl=a.adTagUri,d.requestClientSideAds(e)}catch(l){console.log(l),console.warn("Ads code has been prevented from running. Proceeding without ads.")}navigator.mediaSession&&(f={title:a.name,artwork:[{src:a.iconUri}]},f.artist=a.source,navigator.mediaSession.metadata=new MediaMetadata(f));k.leaveTryBlock(3);
|
|
407
407
|
break;case 2:if(h=g=k.enterCatchBlock(),h.code==shaka.util.Error.Code.LOAD_INTERRUPTED)console.debug("load() interrupted");else b.onError_(h);case 3:b.remakeHash(),k.jumpToEnd()}})};
|
|
408
408
|
shakaDemo.Main.prototype.remakeHash=function(){var a=this;if(this.fullyLoaded_){var b=[];if(this.player_){var c=this.player_.getConfiguration();shakaDemo.Utils.runThroughHashParams(function(f,g){var h=a.getCurrentConfigValue(g),k=a.getValueFromGivenConfig_(g,a.defaultConfig_),l=isNaN(h)&&isNaN(k);h==k||l||b.push(f+"="+h)},c);var d=this.getCurrentConfigValue("drm.advanced");if(d){var e=$jscomp.makeIterator(shakaDemo.Main.commonDrmSystems);for(c=e.next();!c.done;c=e.next())if(c=d[c.value]){c.videoRobustness&&
|