aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js')
-rw-r--r--src/js/plyr.js28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index fce746db..b2b9c964 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -820,15 +820,21 @@
}
// Utilities for caption time codes
- function _timecodeMin(tc) {
+ function _timecodeCommon(tc, pos) {
var tcpair = [];
tcpair = tc.split(' --> ');
- return _subTcSecs(tcpair[0]);
+ for(var i = 0; i < tcpair.length; i++) {
+ // WebVTT allows for extra meta data after the timestamp line
+ // So get rid of this if it exists
+ tcpair[i] = tcpair[i].replace(/(\d+:\d+:\d+\.\d+).*/, "$1");
+ }
+ return _subTcSecs(tcpair[pos]);
+ }
+ function _timecodeMin(tc) {
+ return _timecodeCommon(tc, 0);
}
function _timecodeMax(tc) {
- var tcpair = [];
- tcpair = tc.split(' --> ');
- return _subTcSecs(tcpair[1]);
+ return _timecodeCommon(tc, 1);
}
function _subTcSecs(tc) {
if (tc === null || tc === undefined) {
@@ -1517,12 +1523,18 @@
record,
req = xhr.responseText;
- records = req.split('\n\n');
-
+ var pattern = '\n';
+ records = req.split(pattern + pattern);
+ if(records.length === 1) {
+ // The '\n' pattern didn't work
+ // Try '\r\n'
+ pattern = '\r\n';
+ records = req.split(pattern + pattern);
+ }
for (var r = 0; r < records.length; r++) {
record = records[r];
plyr.captions[r] = [];
- plyr.captions[r] = record.split('\n');
+ plyr.captions[r] = record.split(pattern);
}
// Remove first element ('VTT')