Skip to content

Commit c912a90

Browse files
committed
Merge branch 'master' into extended-tracks-data
2 parents bc17bef + 14ab8ee commit c912a90

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@stremio/stremio-video",
3-
"version": "0.0.39",
3+
"version": "0.0.42",
44
"description": "Abstraction layer on top of different media players",
55
"author": "Smart Code OOD",
66
"main": "src/index.js",

src/WebOsVideo/WebOsVideo.js

+22-17
Original file line numberDiff line numberDiff line change
@@ -106,36 +106,30 @@ var stremioColors = {
106106
};
107107

108108
function stremioSubOffsets(offset) {
109-
if (offset === 0) {
109+
if (offset <= 0) {
110110
return -3;
111-
} else if (offset <= 2) {
112-
return -2;
113-
} else if (offset <= 3) {
114-
return -1;
115111
} else if (offset <= 5) {
116-
return 0;
112+
return -2;
117113
} else if (offset <= 10) {
118-
return 1;
119-
} else if (offset <= 25) {
114+
return 0;
115+
} else if (offset <= 15) {
120116
return 2;
121-
} else if (offset <= 50) {
122-
return 3;
123-
} else if (offset <= 100) {
117+
} else if (offset <= 20) {
124118
return 4;
125119
}
126120
return false;
127121
}
128122

129123
function stremioSubSizes(size) {
130124
// there is also: 0 (tiny)
131-
// adding zero will break the logic
132-
if (size <= 75) {
125+
if (size <= 100) {
133126
return 1;
134-
} else if (size <= 100) {
127+
} else if (size <= 125) {
128+
// not used because of 50% step
135129
return 2;
136130
} else if (size <= 150) {
137131
return 3;
138-
} else if (size <= 250) {
132+
} else if (size <= 200) {
139133
return 4;
140134
}
141135
return false;
@@ -150,6 +144,8 @@ function WebOsVideo(options) {
150144
throw new Error('Container element required to be instance of HTMLElement');
151145
}
152146

147+
var isLoaded = null;
148+
153149
var knownMediaId = false;
154150

155151
var subSize = 75;
@@ -372,6 +368,10 @@ function WebOsVideo(options) {
372368
videoElement.onplaying = function() {
373369
onPropChanged('buffering');
374370
onPropChanged('buffered');
371+
if (!isLoaded) {
372+
isLoaded = true;
373+
onPropChanged('loaded');
374+
}
375375
};
376376
videoElement.oncanplay = function() {
377377
onPropChanged('buffering');
@@ -419,6 +419,7 @@ function WebOsVideo(options) {
419419
var subtitlesOpacity = 100;
420420
var observedProps = {
421421
stream: false,
422+
loaded: false,
422423
paused: false,
423424
time: false,
424425
duration: false,
@@ -443,6 +444,9 @@ function WebOsVideo(options) {
443444
case 'stream': {
444445
return stream;
445446
}
447+
case 'loaded': {
448+
return isLoaded;
449+
}
446450
case 'paused': {
447451
if (stream === null) {
448452
return null;
@@ -742,7 +746,7 @@ function WebOsVideo(options) {
742746
subtitlesOffset = propValue;
743747
var nextOffset = stremioSubOffsets(Math.max(0, Math.min(100, parseInt(subtitlesOffset, 10))));
744748
if (nextOffset === false) { // use default
745-
nextOffset = -1;
749+
nextOffset = -2;
746750
}
747751
subStyles.position = nextOffset;
748752
if (videoElement.mediaId) {
@@ -951,6 +955,7 @@ function WebOsVideo(options) {
951955
onPropChanged('stream');
952956
videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;
953957

958+
onPropChanged('loaded');
954959
onPropChanged('paused');
955960
onPropChanged('time');
956961
onPropChanged('duration');
@@ -1120,7 +1125,7 @@ WebOsVideo.canPlayStream = function() { // function(stream)
11201125
WebOsVideo.manifest = {
11211126
name: 'WebOsVideo',
11221127
external: false,
1123-
props: ['stream', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],
1128+
props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],
11241129
commands: ['load', 'unload', 'destroy'],
11251130
events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']
11261131
};

0 commit comments

Comments
 (0)