bigscreen-player
Advanced tools
Comparing version 3.13.2 to 3.13.3
@@ -0,1 +1,3 @@ | ||
window.bigscreenPlayer = { playbackStrategy: 'msestrategy'}; | ||
require (['bigscreenplayer/bigscreenplayer'], function(BigscreenPlayer){ | ||
@@ -2,0 +4,0 @@ let playbackElement = document.createElement('div') |
{ | ||
"name": "bigscreen-player", | ||
"version": "3.13.2", | ||
"version": "3.13.3", | ||
"description": "Simplified media playback for bigscreen devices.", | ||
@@ -26,6 +26,5 @@ "main": "script/bigscreenplayer.js", | ||
"devDependencies": { | ||
"@babel/core": "^7.8.3", | ||
"@babel/preset-env": "^7.8.3", | ||
"@babel/core": "^7.9.6", | ||
"@babel/preset-env": "^7.9.6", | ||
"babel-loader": "^8.0.6", | ||
"babel-preset-env": "1.7.0", | ||
"clean-webpack-plugin": "^3.0.0", | ||
@@ -39,6 +38,5 @@ "eslint": "^3.0.0", | ||
"eslint-plugin-standard": "4.0.0", | ||
"grunt": "^1.0.4", | ||
"grunt-contrib-jasmine": "^2.0.3", | ||
"html-webpack-plugin": "^3.2.0", | ||
"html-webpack-template": "^6.2.0", | ||
"grunt": "^1.1.0", | ||
"grunt-contrib-jasmine": "^2.2.0", | ||
"html-webpack-plugin": "^4.3.0", | ||
"jasmine": "3.2.0", | ||
@@ -52,3 +50,3 @@ "pre-commit": "^1.2.2", | ||
"webpack-cli": "^3.3.10", | ||
"webpack-dev-server": "^3.10.1" | ||
"webpack-dev-server": "^3.11.0" | ||
}, | ||
@@ -55,0 +53,0 @@ "dependencies": { |
@@ -60,3 +60,3 @@ require( | ||
}; | ||
mockDynamicWindowUtils = jasmine.createSpyObj('mockDynamicWindowUtils', ['autoResumeAtStartOfRange']); | ||
mockDynamicWindowUtils = jasmine.createSpyObj('mockDynamicWindowUtils', ['autoResumeAtStartOfRange', 'shouldAutoResume']); | ||
@@ -723,2 +723,3 @@ spyOn(mockVideoElement, 'addEventListener'); | ||
mockDynamicWindowUtils.autoResumeAtStartOfRange.calls.reset(); | ||
mockDashInstance.play.calls.reset(); | ||
}); | ||
@@ -768,2 +769,23 @@ | ||
}); | ||
it('should autoresume when paused and seeking to the start of the sliding window seekable range', function () { | ||
mockDynamicWindowUtils.shouldAutoResume.and.returnValue(true); | ||
mockDashInstance.isPaused.and.returnValue(true); | ||
mseStrategy.pause(); | ||
mseStrategy.setCurrentTime(0); | ||
expect(mockDynamicWindowUtils.shouldAutoResume).toHaveBeenCalledWith(jasmine.any(Number), jasmine.any(Number)); | ||
expect(mockDashInstance.play).toHaveBeenCalledTimes(1); | ||
}); | ||
it('should not try to autoresume when playing and seeking to the start of the sliding window seekable range', function () { | ||
mockDynamicWindowUtils.shouldAutoResume.and.returnValue(true); | ||
mockDashInstance.isPaused.and.returnValue(false); | ||
mseStrategy.setCurrentTime(0); | ||
expect(mockDynamicWindowUtils.shouldAutoResume).toHaveBeenCalledWith(jasmine.any(Number), jasmine.any(Number)); | ||
expect(mockDashInstance.play).toHaveBeenCalledTimes(0); | ||
}); | ||
}); | ||
@@ -770,0 +792,0 @@ |
@@ -70,4 +70,9 @@ define( | ||
function shouldAutoResume (seekTime, seekableRangeStart) { | ||
return seekTime - seekableRangeStart <= AUTO_RESUME_WINDOW_START_CUSHION_SECONDS; | ||
} | ||
return { | ||
autoResumeAtStartOfRange: autoResumeAtStartOfRange, | ||
shouldAutoResume: shouldAutoResume, | ||
canPause: canPause, | ||
@@ -74,0 +79,0 @@ canSeek: canSeek |
@@ -250,2 +250,3 @@ define('bigscreenplayer/playbackstrategy/legacyplayeradapter', | ||
currentTime = startTime; | ||
DebugTool.keyValue({key: 'initial-playback-time', value: startTime + timeCorrection}); | ||
mediaPlayer.beginPlaybackFrom(startTime + timeCorrection || 0); | ||
@@ -252,0 +253,0 @@ } else { |
@@ -376,2 +376,3 @@ define('bigscreenplayer/playbackstrategy/msestrategy', | ||
if (windowType === WindowTypes.SLIDING) { | ||
DebugTool.keyValue({key: 'initial-playback-time', value: parseInt(startTime)}); | ||
return startTime === 0 ? source : source + '#r=' + parseInt(startTime); | ||
@@ -440,2 +441,11 @@ } | ||
function resumeIfRequired (seekTime) { | ||
if (windowType !== WindowTypes.SLIDING) { return; } | ||
var seekableRange = getSeekableRange(); | ||
var shouldAutoResume = DynamicWindowUtils.shouldAutoResume(seekTime, seekableRange.start); | ||
if (isPaused() && shouldAutoResume) { | ||
mediaPlayer.play(); | ||
} | ||
} | ||
return { | ||
@@ -550,2 +560,3 @@ transitions: { | ||
mediaPlayer.seek(seekTime); | ||
resumeIfRequired(seekTime); | ||
} | ||
@@ -552,0 +563,0 @@ } |
define('bigscreenplayer/version', | ||
function () { | ||
return '3.13.2'; | ||
return '3.13.3'; | ||
} | ||
); |
@@ -18,6 +18,3 @@ | ||
new HtmlWebpackPlugin({ | ||
inject: false, | ||
template: require('html-webpack-template'), | ||
title: 'bigscreen-player', | ||
window: { bigscreenPlayer: { playbackStrategy: 'msestrategy'} } | ||
title: 'bigscreen-player' | ||
}), | ||
@@ -24,0 +21,0 @@ ], |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7857733
23
108
76228
30