@@ -10,7 +10,6 @@ var WebVTTParser = function() {
10
10
startTime = Date . now ( ) ,
11
11
linePos = 0 ,
12
12
lines = input . split ( NEWLINE ) ,
13
- alreadyCollected = false ,
14
13
cues = [ ] ,
15
14
errors = [ ]
16
15
function err ( message , col ) {
@@ -39,25 +38,30 @@ var WebVTTParser = function() {
39
38
err ( "No valid signature. (File needs to start with \"WEBVTT\".)" )
40
39
}
41
40
42
- linePos ++
41
+ line = lines [ ++ linePos ]
43
42
44
43
/* HEADER */
45
- while ( lines [ linePos ] != "" && lines [ linePos ] != undefined ) {
46
- err ( "No blank line after the signature." )
47
- if ( lines [ linePos ] . indexOf ( "-->" ) != - 1 ) {
48
- alreadyCollected = true
49
- break
44
+ while ( line !== undefined ) {
45
+ /* look-ahead */
46
+ if ( line === "" ) {
47
+ if ( ( lines [ linePos + 1 ] && lines [ linePos + 1 ] . indexOf ( "-->" ) !== - 1 ) ||
48
+ ( lines [ linePos + 2 ] && lines [ linePos + 2 ] . indexOf ( "-->" ) !== - 1 ) ) {
49
+ break
50
+ } else {
51
+ line = lines [ ++ linePos ]
52
+ continue
53
+ }
50
54
}
51
- linePos ++
55
+ line = lines [ ++ linePos ]
52
56
}
53
57
54
58
/* CUE LOOP */
55
- while ( lines [ linePos ] ! = undefined ) {
59
+ while ( line != = undefined ) {
56
60
var cue
57
- while ( ! alreadyCollected && lines [ linePos ] == "" ) {
58
- linePos ++
61
+ while ( lines [ linePos ] = == "" ) {
62
+ line = lines [ ++ linePos ]
59
63
}
60
- if ( ! alreadyCollected && lines [ linePos ] == undefined )
64
+ if ( line = == undefined )
61
65
break
62
66
63
67
/* CUE CREATION */
@@ -78,7 +82,7 @@ var WebVTTParser = function() {
78
82
79
83
var parseTimings = true
80
84
81
- if ( lines [ linePos ] . indexOf ( "-->" ) == - 1 ) {
85
+ if ( lines [ linePos ] . indexOf ( "-->" ) === - 1 ) {
82
86
cue . id = lines [ linePos ]
83
87
84
88
/* COMMENTS
@@ -109,7 +113,7 @@ var WebVTTParser = function() {
109
113
}
110
114
111
115
/* TIMINGS */
112
- alreadyCollected = false
116
+ var alreadyCollected = false
113
117
var timings = new WebVTTCueTimingsAndSettingsParser ( lines [ linePos ] , err )
114
118
var previousCueStart = 0
115
119
if ( cues . length > 0 ) {
0 commit comments