shaka-player
Advanced tools
Comparing version 4.8.0 to 4.8.1
@@ -51,3 +51,3 @@ goog.addDependency('../../../../demo/asset_card.js', ['shakaDemo.AssetCard'], ['goog.asserts', 'shakaAssets', 'shakaDemo.Tooltips'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/dash/content_protection.js', ['shaka.dash.ContentProtection'], ['goog.asserts', 'shaka.log', 'shaka.util.BufferUtils', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.Pssh', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/dash/dash_parser.js', ['shaka.dash.DashParser'], ['goog.asserts', 'shaka.Deprecate', 'shaka.abr.Ewma', 'shaka.dash.ContentProtection', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.dash.SegmentList', 'shaka.dash.SegmentTemplate', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.net.NetworkingEngine', 'shaka.text.TextEngine', 'shaka.util.ContentSteeringManager', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.PeriodCombiner', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/dash/dash_parser.js', ['shaka.dash.DashParser'], ['goog.asserts', 'shaka.Deprecate', 'shaka.abr.Ewma', 'shaka.dash.ContentProtection', 'shaka.dash.MpdUtils', 'shaka.dash.SegmentBase', 'shaka.dash.SegmentList', 'shaka.dash.SegmentTemplate', 'shaka.log', 'shaka.media.Capabilities', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.net.NetworkingEngine', 'shaka.text.TextEngine', 'shaka.util.ContentSteeringManager', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Networking', 'shaka.util.OperationManager', 'shaka.util.PeriodCombiner', 'shaka.util.PlayerConfiguration', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/dash/mpd_utils.js', ['shaka.dash.MpdUtils'], ['goog.asserts', 'shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error', 'shaka.util.Functional', 'shaka.util.ManifestParserUtils', 'shaka.util.TXml'], {'lang': 'es8'}); | ||
@@ -98,3 +98,3 @@ goog.addDependency('../../../../lib/dash/segment_base.js', ['shaka.dash.SegmentBase'], ['goog.asserts', 'shaka.dash.MpdUtils', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.Mp4SegmentIndexParser', 'shaka.media.SegmentIndex', 'shaka.media.WebmSegmentIndexParser', 'shaka.util.Error', 'shaka.util.ManifestParserUtils', 'shaka.util.ObjectUtils', 'shaka.util.StringUtils', 'shaka.util.TXml'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/mss/content_protection.js', ['shaka.mss.ContentProtection'], ['shaka.log', 'shaka.util.BufferUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.Pssh', 'shaka.util.StringUtils', 'shaka.util.TXml', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'}); | ||
goog.addDependency('../../../../lib/mss/mss_parser.js', ['shaka.mss.MssParser'], ['goog.asserts', 'shaka.Deprecate', 'shaka.abr.Ewma', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.mss.ContentProtection', 'shaka.net.NetworkingEngine', 'shaka.util.Error', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Generator', 'shaka.util.OperationManager', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/mss/mss_parser.js', ['shaka.mss.MssParser'], ['goog.asserts', 'shaka.Deprecate', 'shaka.abr.Ewma', 'shaka.log', 'shaka.media.InitSegmentReference', 'shaka.media.ManifestParser', 'shaka.media.PresentationTimeline', 'shaka.media.SegmentIndex', 'shaka.media.SegmentReference', 'shaka.mss.ContentProtection', 'shaka.net.NetworkingEngine', 'shaka.util.Error', 'shaka.util.LanguageUtils', 'shaka.util.ManifestParserUtils', 'shaka.util.MimeUtils', 'shaka.util.Mp4Generator', 'shaka.util.OperationManager', 'shaka.util.PlayerConfiguration', 'shaka.util.TXml', 'shaka.util.Timer', 'shaka.util.XmlUtils'], {'lang': 'es8'}); | ||
goog.addDependency('../../../../lib/net/backoff.js', ['shaka.net.Backoff'], ['goog.asserts', 'shaka.util.Error', 'shaka.util.Timer'], {'lang': 'es8'}); | ||
@@ -101,0 +101,0 @@ goog.addDependency('../../../../lib/net/data_uri_plugin.js', ['shaka.net.DataUriPlugin'], ['shaka.log', 'shaka.net.NetworkingEngine', 'shaka.util.AbortableOperation', 'shaka.util.Error', 'shaka.util.StringUtils', 'shaka.util.Uint8ArrayUtils'], {'lang': 'es6'}); |
@@ -735,46 +735,46 @@ | ||
shaka.ui.Locales.Ids = { | ||
ON: 'ON', | ||
VOLUME: 'VOLUME', | ||
LANGUAGE: 'LANGUAGE', | ||
SUBTITLE_FORCED: 'SUBTITLE_FORCED', | ||
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE', | ||
AD_PROGRESS: 'AD_PROGRESS', | ||
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE', | ||
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE', | ||
LIVE: 'LIVE', | ||
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE', | ||
AIRPLAY: 'AIRPLAY', | ||
STATISTICS: 'STATISTICS', | ||
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC', | ||
QUALITY: 'QUALITY', | ||
SUBTITLE_FORCED: 'SUBTITLE_FORCED', | ||
AUTO_QUALITY: 'AUTO_QUALITY', | ||
UNMUTE: 'UNMUTE', | ||
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE', | ||
FAST_FORWARD: 'FAST_FORWARD', | ||
REWIND: 'REWIND', | ||
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE', | ||
LANGUAGE: 'LANGUAGE', | ||
OFF: 'OFF', | ||
MORE_SETTINGS: 'MORE_SETTINGS', | ||
PAUSE: 'PAUSE', | ||
VOLUME: 'VOLUME', | ||
AIRPLAY: 'AIRPLAY', | ||
SURROUND: 'SURROUND', | ||
PLAYBACK_RATE: 'PLAYBACK_RATE', | ||
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE', | ||
AD_PROGRESS: 'AD_PROGRESS', | ||
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN', | ||
FULL_SCREEN: 'FULL_SCREEN', | ||
ON: 'ON', | ||
AD_TIME: 'AD_TIME', | ||
AUTO_QUALITY: 'AUTO_QUALITY', | ||
REPLAY: 'REPLAY', | ||
MUTE: 'MUTE', | ||
SEEK: 'SEEK', | ||
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE', | ||
CAST: 'CAST', | ||
SEEK: 'SEEK', | ||
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES', | ||
SKIP_AD: 'SKIP_AD', | ||
RECENTER_VR: 'RECENTER_VR', | ||
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE', | ||
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN', | ||
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE', | ||
CAPTIONS: 'CAPTIONS', | ||
PLAY: 'PLAY', | ||
BACK: 'BACK', | ||
LOOP: 'LOOP', | ||
BACK: 'BACK', | ||
AD_TIME: 'AD_TIME', | ||
SKIP_AD: 'SKIP_AD', | ||
FULL_SCREEN: 'FULL_SCREEN', | ||
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES', | ||
SURROUND: 'SURROUND', | ||
RESOLUTION: 'RESOLUTION', | ||
REWIND: 'REWIND', | ||
NOT_APPLICABLE: 'NOT_APPLICABLE', | ||
AD_DURATION: 'AD_DURATION', | ||
PLAY: 'PLAY', | ||
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE', | ||
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE', | ||
FAST_FORWARD: 'FAST_FORWARD', | ||
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC', | ||
QUALITY: 'QUALITY', | ||
SKIP_TO_LIVE: 'SKIP_TO_LIVE', | ||
OFF: 'OFF', | ||
RESOLUTION: 'RESOLUTION', | ||
MORE_SETTINGS: 'MORE_SETTINGS', | ||
PAUSE: 'PAUSE', | ||
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE', | ||
MUTE: 'MUTE', | ||
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE', | ||
CAPTIONS: 'CAPTIONS', | ||
}; |
@@ -704,3 +704,3 @@ /*! @license | ||
initSegmentReference) { | ||
this.initSegmentReference_ = initSegmentReference; | ||
this.updateInitSegmentReference(initSegmentReference); | ||
if (!this.templateInfo_) { | ||
@@ -737,2 +737,20 @@ this.templateInfo_ = info; | ||
/** | ||
* Updates the init segment reference and propagates the update to all | ||
* references. | ||
* @param {shaka.media.InitSegmentReference} initSegmentReference | ||
*/ | ||
updateInitSegmentReference(initSegmentReference) { | ||
if (this.initSegmentReference_ === initSegmentReference) { | ||
return; | ||
} | ||
this.initSegmentReference_ = initSegmentReference; | ||
for (const reference of this.references) { | ||
if (reference) { | ||
reference.updateInitSegmentReference(initSegmentReference); | ||
} | ||
} | ||
} | ||
/** | ||
* | ||
@@ -739,0 +757,0 @@ * @param {number} time |
@@ -439,6 +439,7 @@ /*! @license | ||
* @param {boolean=} allowNonIndepedent | ||
* @param {boolean=} reverse | ||
* @return {?shaka.media.SegmentIterator} | ||
* @export | ||
*/ | ||
getIteratorForTime(time, allowNonIndepedent = false) { | ||
getIteratorForTime(time, allowNonIndepedent = false, reverse = false) { | ||
let index = this.find(time); | ||
@@ -480,3 +481,4 @@ if (index == null) { | ||
} | ||
return new shaka.media.SegmentIterator(this, index, partialSegmentIndex); | ||
return new shaka.media.SegmentIterator( | ||
this, index, partialSegmentIndex, reverse); | ||
} | ||
@@ -557,4 +559,5 @@ | ||
* @param {number} partialSegmentIndex | ||
* @param {boolean} reverse | ||
*/ | ||
constructor(segmentIndex, index, partialSegmentIndex) { | ||
constructor(segmentIndex, index, partialSegmentIndex, reverse) { | ||
/** @private {shaka.media.SegmentIndex} */ | ||
@@ -568,5 +571,16 @@ this.segmentIndex_ = segmentIndex; | ||
this.currentPartialPosition_ = partialSegmentIndex; | ||
/** @private {boolean} */ | ||
this.reverse = reverse; | ||
} | ||
/** | ||
* @param {boolean} reverse | ||
* @export | ||
*/ | ||
setReverse(reverse) { | ||
this.reverse = reverse; | ||
} | ||
/** | ||
* @return {number} | ||
@@ -613,13 +627,20 @@ * @export | ||
if (ref && ref.hasPartialSegments()) { | ||
// If the regular segment contains partial segments, move to the next | ||
// partial SegmentReference. | ||
this.currentPartialPosition_++; | ||
// If the current regular segment has been published completely, and | ||
// we've reached the end of its partial segments list, move to the next | ||
// regular segment. | ||
// If the Partial Segments list is still on the fly, do not move to | ||
// the next regular segment. | ||
if (ref.hasAllPartialSegments() && | ||
this.currentPartialPosition_ == ref.partialReferences.length) { | ||
if (!this.reverse) { | ||
if (ref && ref.hasPartialSegments()) { | ||
// If the regular segment contains partial segments, move to the next | ||
// partial SegmentReference. | ||
this.currentPartialPosition_++; | ||
// If the current regular segment has been published completely, and | ||
// we've reached the end of its partial segments list, move to the next | ||
// regular segment. | ||
// If the Partial Segments list is still on the fly, do not move to | ||
// the next regular segment. | ||
if (ref.hasAllPartialSegments() && | ||
this.currentPartialPosition_ == ref.partialReferences.length) { | ||
this.currentPosition_++; | ||
this.currentPartialPosition_ = 0; | ||
} | ||
} else { | ||
// If the regular segment doesn't contain partial segments, move to the | ||
// next regular segment. | ||
this.currentPosition_++; | ||
@@ -629,6 +650,21 @@ this.currentPartialPosition_ = 0; | ||
} else { | ||
// If the regular segment doesn't contain partial segments, move to the | ||
// next regular segment. | ||
this.currentPosition_++; | ||
this.currentPartialPosition_ = 0; | ||
if (ref && ref.hasPartialSegments()) { | ||
// If the regular segment contains partial segments, move to the | ||
// previous partial SegmentReference. | ||
this.currentPartialPosition_--; | ||
if (this.currentPartialPosition_ < 0) { | ||
this.currentPosition_--; | ||
const prevRef = this.segmentIndex_.get(this.currentPosition_); | ||
if (prevRef && prevRef.hasPartialSegments()) { | ||
this.currentPartialPosition_ = prevRef.partialReferences.length - 1; | ||
} else { | ||
this.currentPartialPosition_ = 0; | ||
} | ||
} | ||
} else { | ||
// If the regular segment doesn't contain partial segments, move to the | ||
// previous regular segment. | ||
this.currentPosition_--; | ||
this.currentPartialPosition_ = 0; | ||
} | ||
} | ||
@@ -635,0 +671,0 @@ |
@@ -624,2 +624,14 @@ /*! @license | ||
} | ||
/** | ||
* Updates the init segment reference and propagates the update to all partial | ||
* references. | ||
* @param {shaka.media.InitSegmentReference} initSegmentReference | ||
*/ | ||
updateInitSegmentReference(initSegmentReference) { | ||
this.initSegmentReference = initSegmentReference; | ||
for (const partialReference of this.partialReferences) { | ||
partialReference.updateInitSegmentReference(initSegmentReference); | ||
} | ||
} | ||
}; | ||
@@ -626,0 +638,0 @@ |
@@ -26,2 +26,3 @@ /*! @license | ||
goog.require('shaka.util.OperationManager'); | ||
goog.require('shaka.util.PlayerConfiguration'); | ||
goog.require('shaka.util.Timer'); | ||
@@ -286,3 +287,5 @@ goog.require('shaka.util.TXml'); | ||
const manifestPreprocessor = this.config_.mss.manifestPreprocessor; | ||
if (manifestPreprocessor) { | ||
const defaultManifestPreprocessor = | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessor; | ||
if (manifestPreprocessor != defaultManifestPreprocessor) { | ||
shaka.Deprecate.deprecateFeature(5, | ||
@@ -312,3 +315,5 @@ 'manifest.mss.manifestPreprocessor configuration', | ||
const manifestPreprocessorTXml = this.config_.mss.manifestPreprocessorTXml; | ||
if (manifestPreprocessorTXml) { | ||
const defaultManifestPreprocessorTXml = | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml; | ||
if (manifestPreprocessorTXml != defaultManifestPreprocessorTXml) { | ||
manifestPreprocessorTXml(mss); | ||
@@ -315,0 +320,0 @@ } |
@@ -190,2 +190,3 @@ /*! @license | ||
if (stream) { | ||
const playbackRate = this.playerInterface_.getPlaybackRate(); | ||
if (isMedia) { | ||
@@ -196,3 +197,2 @@ data.bl = this.getBufferLength_(stream.type); | ||
this.getRemainingBufferLength_(stream.type); | ||
const playbackRate = this.playerInterface_.getPlaybackRate(); | ||
if (playbackRate) { | ||
@@ -211,4 +211,5 @@ data.dl = remainingBufferLength / Math.abs(playbackRate); | ||
if (stream.segmentIndex && segment) { | ||
const reverse = playbackRate < 0; | ||
const iterator = stream.segmentIndex.getIteratorForTime( | ||
segment.endTime, /* allowNonIndepedent= */ true); | ||
segment.endTime, /* allowNonIndepedent= */ true, reverse); | ||
if (iterator) { | ||
@@ -215,0 +216,0 @@ const nextSegment = iterator.next().value; |
@@ -144,12 +144,6 @@ /*! @license | ||
}, | ||
manifestPreprocessor: (element) => { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
}, | ||
manifestPreprocessorTXml: (element) => { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
}, | ||
manifestPreprocessor: | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessor, | ||
manifestPreprocessorTXml: | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml, | ||
sequenceMode: false, | ||
@@ -178,12 +172,6 @@ enableAudioGroups: false, | ||
mss: { | ||
manifestPreprocessor: (element) => { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
}, | ||
manifestPreprocessorTXml: (element) => { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
}, | ||
manifestPreprocessor: | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessor, | ||
manifestPreprocessorTXml: | ||
shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml, | ||
sequenceMode: false, | ||
@@ -620,2 +608,22 @@ keySystemsBySystemId: { | ||
} | ||
/** | ||
* @param {!Element} element | ||
* @return {!Element} | ||
*/ | ||
static defaultManifestPreprocessor(element) { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
} | ||
/** | ||
* @param {!shaka.extern.xml.Node} element | ||
* @return {!shaka.extern.xml.Node} | ||
*/ | ||
static defaultManifestPreprocessorTXml(element) { | ||
return shaka.util.ConfigUtils.referenceParametersAndReturn( | ||
[element], | ||
element); | ||
} | ||
}; |
@@ -986,4 +986,8 @@ /*! @license | ||
// See https://bugs.chromium.org/p/chromium/issues/detail?id=1422728 | ||
if (codecs === 'fLaC' && !shaka.util.Platform.isSafari()) { | ||
return 'flac'; | ||
if (codecs.toLowerCase() == 'flac') { | ||
if (!shaka.util.Platform.isSafari()) { | ||
return 'flac'; | ||
} else { | ||
return 'fLaC'; | ||
} | ||
} | ||
@@ -990,0 +994,0 @@ |
{ | ||
"name": "shaka-player", | ||
"description": "DASH/EME video player library", | ||
"version": "4.8.0", | ||
"version": "4.8.1", | ||
"homepage": "https://github.com/shaka-project/shaka-player", | ||
@@ -6,0 +6,0 @@ "author": "Google", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
18016183
168639