commit - 2be3531b0dcadd5c29adc1fff94844876de00afe
commit + c782d7505d2481993f034dc8c80060f1ae176698
blob - d73bcc7147293cce0ea0a9a55185cccc5f9abd7d
blob + 20dcbafb6a363bd6b7450c989e8750e388189460
--- m3u8/parse.go
+++ m3u8/parse.go
"errors"
"fmt"
"io"
- "regexp"
"strconv"
"strings"
"time"
case tagEndList:
p.End = true
case tagMediaSequence:
- val, err := parseSequence(lex)
+ it = <-lex.items
+ seq, err := strconv.Atoi(it.val)
if err != nil {
return p, fmt.Errorf("parse media sequence: %w", err)
}
- p.Sequence = val
+ p.Sequence = seq
}
}
}
}
return ByteRange{n, nn}, nil
}
-
-func parseSequence(lex *lexer) (int, error) {
- re := regexp.MustCompile(`#EXT-X-MEDIA-SEQUENCE:(\d+)`)
-
- match := re.FindStringSubmatch(lex.input)
- if len(match) > 1 {
- return strconv.Atoi(match[1])
- }
-
- return 0, fmt.Errorf("invalid sequence number")
-}