From f6268a62c1e5aa10eef7b7f6aa3157f948b5ba12 Mon Sep 17 00:00:00 2001 From: Roy Bregman <48884909+RoyBregman@users.noreply.github.com> Date: Mon, 12 Apr 2021 20:33:55 +0300 Subject: [PATCH] fix(FEC-11126): upgrade shaka to 3.0.10 (#139) updated shaka to 3.0.10 moved useShakaTextTrackDisplay from playback.options.playback.options.html5.dash to text added useShakaTextTrackDisplay in _getParsedTextTracks when creating TextTrack and kind is an empty string --- package.json | 2 +- src/dash-adapter.js | 10 +++++++--- yarn.lock | 8 ++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 1d7c2172..92d74dd9 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "mocha": "^8.0.1", "mocha-cli": "^1.0.1", "prettier": "^2.0.5", - "shaka-player": "3.0.8", + "shaka-player": "3.0.10", "sinon": "^9.0.2", "sinon-chai": "^3.5.0", "standard-version": "^6.0.1", diff --git a/src/dash-adapter.js b/src/dash-adapter.js index 8c7bb1a9..3fb91c33 100644 --- a/src/dash-adapter.js +++ b/src/dash-adapter.js @@ -187,7 +187,6 @@ export default class DashAdapter extends BaseMediaSourceAdapter { * @private */ _thumbnailController: ?DashThumbnailController; - /** * Factory method to create media source adapter. * @function createAdapter @@ -202,6 +201,9 @@ export default class DashAdapter extends BaseMediaSourceAdapter { if (Utils.Object.hasPropertyPath(config, 'text.useNativeTextTrack')) { adapterConfig.textTrackVisibile = Utils.Object.getPropertyPath(config, 'text.useNativeTextTrack'); } + if (Utils.Object.hasPropertyPath(config, 'text.useShakaTextTrackDisplay')) { + adapterConfig.useShakaTextTrackDisplay = Utils.Object.getPropertyPath(config, 'text.useShakaTextTrackDisplay'); + } if (Utils.Object.hasPropertyPath(config, 'sources.options')) { const options = config.sources.options; adapterConfig.forceRedirectExternalStreams = options.forceRedirectExternalStreams; @@ -358,7 +360,7 @@ export default class DashAdapter extends BaseMediaSourceAdapter { shaka.polyfill.installAll(); this._shaka = new shaka.Player(); //render text tracks to our own container - if (this._config.shakaConfig.useShakaTextTrackDisplay) { + if (this._config.useShakaTextTrackDisplay) { this._shaka.setVideoContainer(Utils.Dom.getElementBySelector('.playkit-subtitles')); } this._maybeSetFilters(); @@ -856,8 +858,10 @@ export default class DashAdapter extends BaseMediaSourceAdapter { let parsedTracks = []; if (textTracks) { for (let i = 0; i < textTracks.length; i++) { + let kind = textTracks[i].kind ? textTracks[i].kind + 's' : ''; + kind = kind === '' && this._config.useShakaTextTrackDisplay ? 'captions' : kind; let settings = { - kind: textTracks[i].kind ? textTracks[i].kind + 's' : '', + kind: kind, active: false, label: textTracks[i].label, language: textTracks[i].language, diff --git a/yarn.lock b/yarn.lock index ad5cf295..99ba6eab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7340,10 +7340,10 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -shaka-player@3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/shaka-player/-/shaka-player-3.0.8.tgz#32e4c321b80012bca9db9a20b7ec63eefd7df512" - integrity sha512-4nROuGUhmtOTERWVO31pp/hvtdCy/kW/Ys6KQwqRhFeCsZsU1/8768dJUyXKqNnbYybKIvuv6LqO8egkXy6TjA== +shaka-player@3.0.10: + version "3.0.10" + resolved "https://registry.yarnpkg.com/shaka-player/-/shaka-player-3.0.10.tgz#f5cca848df54694f1aa77097f990881da11dbf68" + integrity sha512-kr1OFbihAmsmtsb/QhyDfxkt05wPAdreiW8vF86RN95zxpp+J/thEcTjRrH0E9dkBwPwS4HVv+mm096uqtEMvA== dependencies: eme-encryption-scheme-polyfill "^2.0.1"