Socket
Socket
Sign inDemoInstall

bigscreen-player

Package Overview
Dependencies
Maintainers
3
Versions
189
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bigscreen-player - npm Package Compare versions

Comparing version 3.15.1 to 3.16.0

4

package.json
{
"name": "bigscreen-player",
"version": "3.15.1",
"version": "3.16.0",
"description": "Simplified media playback for bigscreen devices.",

@@ -49,3 +49,3 @@ "main": "script/bigscreenplayer.js",

"dependencies": {
"dashjs": "github:bbc/dash.js#smp-v2.9.3-4"
"dashjs": "github:bbc/dash.js#smp-v3.0.0-7"
},

@@ -52,0 +52,0 @@ "repository": {

@@ -25,3 +25,2 @@ require(

var mockDashMediaPlayer;
var mockDashDebug;
var mockPlugins;

@@ -51,7 +50,6 @@ var mockPluginsInterface;

mockDashMediaPlayer = jasmine.createSpyObj('mockDashMediaPlayer', ['create']);
mockDashDebug = jasmine.createSpyObj('mockDashDebug', ['setLogToBrowserConsole']);
mockDashInstance = jasmine.createSpyObj('mockDashInstance',
['initialize', 'retrieveManifest', 'getDebug', 'getSource', 'on', 'off', 'time', 'duration', 'attachSource',
'reset', 'isPaused', 'pause', 'play', 'seek', 'isReady', 'refreshManifest', 'getDashMetrics', 'getMetricsFor', 'setBufferToKeep',
'setBufferAheadToKeep', 'setBufferTimeAtTopQuality', 'setBufferTimeAtTopQualityLongForm', 'getBitrateInfoListFor', 'getAverageThroughput', 'getDVRWindowSize', 'setLiveDelay']);
'reset', 'isPaused', 'pause', 'play', 'seek', 'isReady', 'refreshManifest', 'getDashMetrics', 'getDashAdapter',
'getBitrateInfoListFor', 'getAverageThroughput', 'getDVRWindowSize', 'updateSettings']);
mockPluginsInterface = jasmine.createSpyObj('interface', ['onErrorCleared', 'onBuffering', 'onBufferingCleared', 'onError', 'onFatalError', 'onErrorHandled', 'onPlayerInfoUpdated']);

@@ -85,4 +83,2 @@ mockPlugins = {

mockDashInstance.isReady.and.returnValue(true);
mockDashInstance.getDebug.and.returnValue(mockDashDebug);
mockDashInstance.getMetricsFor.and.returnValue(true);
mockDashInstance.getDVRWindowSize.and.returnValue(101);

@@ -115,3 +111,6 @@

return 1;
},
}
});
mockDashInstance.getDashAdapter.and.returnValue({
getIndexForRepresentation: function () {

@@ -902,7 +901,47 @@ return 0;

it('should not publish error event on initial segment download error', function () {
var mockEvent = {
error: {
message: 'initial segment download error',
code: 28
}
};
setUpMSE();
var mockErrorCallback = jasmine.createSpy();
mseStrategy.addErrorCallback(null, mockErrorCallback);
mseStrategy.load(null, 0);
dashEventCallback(dashjsMediaPlayerEvents.ERROR, mockEvent);
expect(mockErrorCallback).not.toHaveBeenCalled();
});
it('should not publish error event on segment index download error', function () {
var mockEvent = {
error: {
message: 'segment index download error',
code: 26
}
};
setUpMSE();
var mockErrorCallback = jasmine.createSpy();
mseStrategy.addErrorCallback(null, mockErrorCallback);
mseStrategy.load(null, 0);
dashEventCallback(dashjsMediaPlayerEvents.ERROR, mockEvent);
expect(mockErrorCallback).not.toHaveBeenCalled();
});
it('should not publish error event on content download error', function () {
var mockEvent = {
error: 'download',
event: {
id: 'content'
error: {
message: 'content download error',
code: 27
}

@@ -920,3 +959,3 @@ };

expect(mockErrorCallback).not.toHaveBeenCalledWith();
expect(mockErrorCallback).not.toHaveBeenCalled();
});

@@ -926,5 +965,5 @@

var mockEvent = {
error: 'download',
event: {
id: 'manifest'
error: {
message: 'manifest download error',
code: 25
}

@@ -947,5 +986,5 @@ };

var mockEvent = {
error: 'download',
event: {
id: 'manifest'
error: {
message: 'manifest download error',
code: 25
}

@@ -973,5 +1012,5 @@ };

var mockEvent = {
error: 'download',
event: {
id: 'manifest'
error: {
message: 'manifest download error',
code: 25
}

@@ -978,0 +1017,0 @@ };

@@ -33,3 +33,2 @@ define('bigscreenplayer/playbackstrategy/msestrategy',

var mediaMetrics;
var dashMetrics;

@@ -55,3 +54,3 @@

DOWNLOAD_CONTENT_ERROR_CODE: 27,
DOWNLOAD_ERROR_MESSAGE: 'download',
DOWNLOAD_INIT_SEGMENT_ERROR_CODE: 28,
MANIFEST_VALIDITY_CHANGED: 'manifestValidityChanged',

@@ -103,3 +102,3 @@ QUALITY_CHANGE_RENDERED: 'qualityChangeRendered',

var IN_STREAM_BUFFERING_SECONDS = 20;
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo(mediaPlayer.getMetricsFor('video'));
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo('video');

@@ -127,22 +126,15 @@ if (dvrInfo && windowType === WindowTypes.SLIDING) {

if (event.error) {
if (event.error.message) {
DebugTool.info('MSE Error: ' + event.error.message);
if (event.error && event.error.message) {
DebugTool.info('MSE Error: ' + event.error.message);
// Don't raise an error on fragment download error
if (event.error.code === DashJSEvents.DOWNLOAD_SIDX_ERROR_CODE ||
event.error.code === DashJSEvents.DOWNLOAD_CONTENT_ERROR_CODE ||
event.error.code === DashJSEvents.DOWNLOAD_MANIFEST_ERROR_CODE) {
return;
}
} else {
DebugTool.info('MSE Error: ' + event.error);
// Don't raise an error on fragment download error
if (event.error.code === DashJSEvents.DOWNLOAD_SIDX_ERROR_CODE ||
event.error.code === DashJSEvents.DOWNLOAD_CONTENT_ERROR_CODE ||
event.error.code === DashJSEvents.DOWNLOAD_INIT_SEGMENT_ERROR_CODE) {
return;
}
if (event.error === DashJSEvents.DOWNLOAD_ERROR_MESSAGE && event.event.id === 'content') {
return;
}
if (event.error === DashJSEvents.DOWNLOAD_ERROR_MESSAGE && event.event.id === 'manifest') {
manifestDownloadError(event);
return;
}
if (event.error.code === DashJSEvents.DOWNLOAD_MANIFEST_ERROR_CODE) {
manifestDownloadError(event);
return;
}

@@ -202,3 +194,3 @@ }

function currentPlaybackBitrate (mediaKind) {
var representationSwitch = mediaPlayer.getDashMetrics().getCurrentRepresentationSwitch(mediaPlayer.getMetricsFor(mediaKind));
var representationSwitch = mediaPlayer.getDashMetrics().getCurrentRepresentationSwitch(mediaKind);
var representation = representationSwitch ? representationSwitch.to : '';

@@ -209,3 +201,3 @@ return playbackBitrateForRepresentation(representation, mediaKind);

function playbackBitrateForRepresentation (representation, mediaKind) {
var repIdx = mediaPlayer.getDashMetrics().getIndexForRepresentation(representation, 0);
var repIdx = mediaPlayer.getDashAdapter().getIndexForRepresentation(representation, 0);
return playbackBitrateForRepresentationIndex(repIdx, mediaKind);

@@ -262,7 +254,6 @@ }

if (event.mediaType === mediaKind && event.metric === 'BufferLevel') {
mediaMetrics = mediaPlayer.getMetricsFor(event.mediaType);
dashMetrics = mediaPlayer.getDashMetrics();
if (mediaMetrics && dashMetrics) {
playerMetadata.bufferLength = dashMetrics.getCurrentBufferLevel(mediaMetrics);
if (dashMetrics) {
playerMetadata.bufferLength = dashMetrics.getCurrentBufferLevel(event.mediaType);
DebugTool.keyValue({ key: 'Buffer Length', value: playerMetadata.bufferLength });

@@ -336,11 +327,18 @@ Plugins.interface.onPlayerInfoUpdated({

mediaPlayer = dashjs.MediaPlayer().create();
mediaPlayer.getDebug().setLogToBrowserConsole(false);
mediaPlayer.setLiveDelay(LIVE_DELAY_SECONDS);
mediaPlayer.updateSettings({
'debug': {
'logLevel': 2
}
});
mediaPlayer.setBufferToKeep(0);
mediaPlayer.setBufferAheadToKeep(20);
mediaPlayer.updateSettings({
'streaming': {
'liveDelay': LIVE_DELAY_SECONDS,
'bufferToKeep': 0,
'bufferAheadToKeep': 20,
'bufferTimeAtTopQuality': 12,
'bufferTimeAtTopQualityLongForm': 12
}
});
mediaPlayer.setBufferTimeAtTopQuality(12);
mediaPlayer.setBufferTimeAtTopQualityLongForm(12);
mediaPlayer.initialize(mediaElement, null, true);

@@ -407,3 +405,3 @@ modifySource(playbackTime);

if (mediaPlayer && mediaPlayer.isReady() && windowType !== WindowTypes.STATIC) {
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo(mediaPlayer.getMetricsFor(mediaKind));
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo(mediaKind);
if (dvrInfo) {

@@ -450,3 +448,3 @@ return {

if (windowType === WindowTypes.SLIDING) {
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo(mediaPlayer.getMetricsFor(mediaKind));
var dvrInfo = mediaPlayer.getDashMetrics().getCurrentDVRInfo(mediaKind);
var offset = TimeUtils.calculateSlidingWindowSeekOffset(time, dvrInfo.range.start, timeCorrection, slidingWindowPausedTime);

@@ -536,3 +534,2 @@ slidingWindowPausedTime = 0;

isEnded = undefined;
mediaMetrics = undefined;
dashMetrics = undefined;

@@ -539,0 +536,0 @@ playerMetadata = {

define('bigscreenplayer/version',
function () {
return '3.15.1';
return '3.16.0';
}
);

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc