Skip to content

Commit

Permalink
Add dist files for version 4.7.3
Browse files Browse the repository at this point in the history
  • Loading branch information
dsilhavy committed Dec 8, 2023
1 parent 8a1b7c0 commit bda552d
Show file tree
Hide file tree
Showing 20 changed files with 671 additions and 145 deletions.
311 changes: 258 additions & 53 deletions dist/dash.all.debug.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.all.debug.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.all.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.all.min.js.map

Large diffs are not rendered by default.

311 changes: 258 additions & 53 deletions dist/dash.mediaplayer.debug.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.mediaplayer.debug.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.mediaplayer.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.mediaplayer.min.js.map

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions dist/dash.mss.debug.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/dash.mss.debug.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.mss.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.mss.min.js.map

Large diffs are not rendered by default.

95 changes: 77 additions & 18 deletions dist/dash.offline.debug.js
Expand Up @@ -1488,6 +1488,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
* droppedFramesRule: true,
* abandonRequestsRule: true
* },
* abrRulesParameters: {
* abandonRequestsRule: {
* graceTimeThreshold: 500,
* abandonMultiplier: 1.8,
* minLengthToAverage: 5
* }
* },
* bandwidthSafetyFactor: 0.9,
* useDefaultABRRules: true,
* useDeadTimeLatency: true,
Expand Down Expand Up @@ -1621,7 +1628,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
* If this flag is set to true then dash.js will use the MSE v.2 API call "changeType()" before switching to a different track.
* Note that some platforms might not implement the changeType functio. dash.js is checking for the availability before trying to call it.
* @property {boolean} [mediaSourceDurationInfinity=true]
* If this flag is set to true then dash.js will allow `Infinity` to be set as the MediaSource duration otherwise the duration will be set to `Math.pow(2,32)` instead of `Infinity` to allow appending segments indefinitely.
* If this flag is set to true then dash.js will allow `Infinity` to be set as the MediaSource duration otherwise the duration will be set to `Math.pow(2,32)` instead of `Infinity` to allow appending segments indefinitely.
* Some platforms such as WebOS 4.x have issues with seeking when duration is set to `Infinity`, setting this flag to false resolve this.
* @property {boolean} [resetSourceBuffersForTrackSwitch=false]
* When switching to a track that is not compatible with the currently active MSE SourceBuffers, MSE will be reset. This happens when we switch codecs on a system
Expand Down Expand Up @@ -1857,6 +1864,22 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
* Enable to use the MediaCapabilities API to check whether codecs are supported. If disabled MSE.isTypeSupported will be used instead.
*/

/**
* @typedef {Object} AbrRulesParameters
* @property {module:Settings~AbandonRequestRuleParameters} abandonRequestRule
* Configuration parameters for the AbandonRequestRule
*/

/**
* @typedef {Object} AbandonRequestRuleParameters
* @property {number} [graceTimeThreshold=500]
* Minimum elapsed time in milliseconds that the segment download has to run before the rule considers abandoning the download.
* @property {number} [abandonMultiplier]
* This value is multiplied with the segment duration and compared to the estimated time of the download to decide the request should be abandoned.
* @property {number} [minLengthToAverage]
* Minimum number of throughput samples required to consider abandoning the download of the segment.
*/

/**
* @typedef {Object} AbrSettings
* @property {string} [movingAverageMethod="slidingWindow"]
Expand Down Expand Up @@ -1884,6 +1907,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
* @property {object} [trackSwitchMode={video: "neverReplace", audio: "alwaysReplace"}]
* @property {object} [additionalAbrRules={insufficientBufferRule: true,switchHistoryRule: true,droppedFramesRule: true,abandonRequestsRule: true}]
* Enable/Disable additional ABR rules in case ABRStrategy is set to "abrDynamic", "abrBola" or "abrThroughput".
* @property {module:Settings~AbrRulesParameters} abrRulesParameters Configuration options for the different ABR rules
* @property {number} [bandwidthSafetyFactor=0.9]
* Standard ABR throughput rules multiply the throughput by this value.
*
Expand Down Expand Up @@ -2255,6 +2279,13 @@ function Settings() {
droppedFramesRule: true,
abandonRequestsRule: true
},
abrRulesParameters: {
abandonRequestsRule: {
graceTimeThreshold: 500,
abandonMultiplier: 1.8,
minLengthToAverage: 5
}
},
bandwidthSafetyFactor: 0.9,
useDefaultABRRules: true,
useDeadTimeLatency: true,
Expand Down Expand Up @@ -3491,13 +3522,25 @@ function DashHandler(config) {


function getNextSegmentRequest(mediaInfo, representation) {
var request = null;

if (!representation || !representation.segmentInfoType) {
return null;
}

var indexToRequest = lastSegment ? lastSegment.index + 1 : 0;
return _getRequest(mediaInfo, representation, indexToRequest);
}

function repeatSegmentRequest(mediaInfo, representation) {
if (!representation || !representation.segmentInfoType) {
return null;
}

var indexToRequest = lastSegment ? lastSegment.index : 0;
return _getRequest(mediaInfo, representation, indexToRequest);
}

function _getRequest(mediaInfo, representation, indexToRequest) {
var request = null;
var segment = segmentsController.getSegmentByIndex(representation, indexToRequest, lastSegment ? lastSegment.mediaStartTime : -1); // No segment found

if (!segment) {
Expand Down Expand Up @@ -3601,18 +3644,19 @@ function DashHandler(config) {
}

instance = {
initialize: initialize,
getStreamId: getStreamId,
getType: getType,
getStreamInfo: getStreamInfo,
getInitRequest: getInitRequest,
getSegmentRequestForTime: getSegmentRequestForTime,
getCurrentIndex: getCurrentIndex,
getInitRequest: getInitRequest,
getNextSegmentRequest: getNextSegmentRequest,
isLastSegmentRequested: isLastSegmentRequested,
reset: reset,
getNextSegmentRequestIdempotent: getNextSegmentRequestIdempotent,
getValidTimeAheadOfTargetTime: getValidTimeAheadOfTargetTime
getSegmentRequestForTime: getSegmentRequestForTime,
getStreamId: getStreamId,
getStreamInfo: getStreamInfo,
getType: getType,
getValidTimeAheadOfTargetTime: getValidTimeAheadOfTargetTime,
initialize: initialize,
isLastSegmentRequested: isLastSegmentRequested,
repeatSegmentRequest: repeatSegmentRequest,
reset: reset
};
setup();
return instance;
Expand Down Expand Up @@ -6681,7 +6725,7 @@ var LangMatcher = /*#__PURE__*/function (_BaseMatcher) {
}, function (str) {
var lang = bcp_47_normalize__WEBPACK_IMPORTED_MODULE_2___default()(str);

if (lang !== undefined) {
if (lang) {
return lang;
}

Expand Down Expand Up @@ -9994,6 +10038,7 @@ function OfflineStreamProcessor(config) {
events: events,
eventBus: eventBus,
errors: errors,
adapter: adapter,
segmentsController: segmentsController
});
fragmentModel = (0,_streaming_models_FragmentModel__WEBPACK_IMPORTED_MODULE_2__["default"])(context).create({
Expand Down Expand Up @@ -13030,6 +13075,18 @@ var MediaPlayerEvents = /*#__PURE__*/function (_EventsBase) {
*/

_this.INBAND_PRFT = 'inbandPrft';
/**
* The streaming attribute of the Managed Media Source is true
* @type {string}
*/

_this.MANAGED_MEDIA_SOURCE_START_STREAMING = 'managedMediaSourceStartStreaming';
/**
* The streaming attribute of the Managed Media Source is false
* @type {string}
*/

_this.MANAGED_MEDIA_SOURCE_END_STREAMING = 'managedMediaSourceEndStreaming';
return _this;
}

Expand Down Expand Up @@ -17285,6 +17342,11 @@ function ABRRulesCollection(config) {
var activeRules = _getRulesWithChange(abandonRequestArray);

var shouldAbandon = getMinSwitchRequest(activeRules);

if (shouldAbandon) {
shouldAbandon.reason.forceAbandon = true;
}

return shouldAbandon || (0,_SwitchRequest__WEBPACK_IMPORTED_MODULE_9__["default"])(context).create();
}

Expand Down Expand Up @@ -17371,9 +17433,6 @@ __webpack_require__.r(__webpack_exports__);

function AbandonRequestsRule(config) {
config = config || {};
var ABANDON_MULTIPLIER = 1.8;
var GRACE_TIME_THRESHOLD = 500;
var MIN_LENGTH_TO_AVERAGE = 5;
var context = this.context;
var mediaPlayerModel = config.mediaPlayerModel;
var dashMetrics = config.dashMetrics;
Expand Down Expand Up @@ -17441,14 +17500,14 @@ function AbandonRequestsRule(config) {
storeLastRequestThroughputByType(mediaType, Math.round(fragmentInfo.bytesLoaded * 8 / fragmentInfo.elapsedTime));
}

if (throughputArray[mediaType].length >= MIN_LENGTH_TO_AVERAGE && fragmentInfo.elapsedTime > GRACE_TIME_THRESHOLD && fragmentInfo.bytesLoaded < fragmentInfo.bytesTotal) {
if (throughputArray[mediaType].length >= settings.get().streaming.abr.abrRulesParameters.abandonRequestsRule.minLengthToAverage && fragmentInfo.elapsedTime > settings.get().streaming.abr.abrRulesParameters.abandonRequestsRule.graceTimeThreshold && fragmentInfo.bytesLoaded < fragmentInfo.bytesTotal) {
var totalSampledValue = throughputArray[mediaType].reduce(function (a, b) {
return a + b;
}, 0);
fragmentInfo.measuredBandwidthInKbps = Math.round(totalSampledValue / throughputArray[mediaType].length);
fragmentInfo.estimatedTimeOfDownload = +(fragmentInfo.bytesTotal * 8 / fragmentInfo.measuredBandwidthInKbps / 1000).toFixed(2);

if (fragmentInfo.estimatedTimeOfDownload < fragmentInfo.segmentDuration * ABANDON_MULTIPLIER || rulesContext.getRepresentationInfo().quality === 0) {
if (fragmentInfo.estimatedTimeOfDownload < fragmentInfo.segmentDuration * settings.get().streaming.abr.abrRulesParameters.abandonRequestsRule.abandonMultiplier || rulesContext.getRepresentationInfo().quality === 0) {
return switchRequest;
} else if (!abandonDict.hasOwnProperty(fragmentInfo.id)) {
var abrController = rulesContext.getAbrController();
Expand Down
2 changes: 1 addition & 1 deletion dist/dash.offline.debug.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.offline.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.offline.min.js.map

Large diffs are not rendered by default.

57 changes: 51 additions & 6 deletions dist/dash.reporting.debug.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/dash.reporting.debug.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.reporting.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/dash.reporting.min.js.map

Large diffs are not rendered by default.

0 comments on commit bda552d

Please sign in to comment.