Skip to content

Commit 18911d6

Browse files
committed
Fix low latency parser not properly handling null values
1 parent d5a40b7 commit 18911d6

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

app/src/main/java/com/perflyst/twire/lowlatency/LLHlsPlaylistParser.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ class LLHlsPlaylistParser
400400
// tags.
401401
mediaTags.add(line)
402402
} else if (line.startsWith(TAG_SESSION_KEY)) {
403-
val keyFormat: String =
403+
val keyFormat: String? =
404404
parseOptionalStringAttr(
405405
line,
406406
REGEX_KEYFORMAT,
@@ -746,7 +746,7 @@ class LLHlsPlaylistParser
746746
val tags: MutableList<String> = ArrayList()
747747

748748
var segmentDurationUs = 0L
749-
var segmentTitle = ""
749+
var segmentTitle: String? = ""
750750
var hasDiscontinuitySequence = false
751751
var playlistDiscontinuitySequence = 0
752752
var relativeDiscontinuitySequence = 0
@@ -920,7 +920,7 @@ class LLHlsPlaylistParser
920920
}
921921
} else if (line.startsWith(TAG_KEY)) {
922922
val method: String = parseStringAttr(line, REGEX_METHOD, variableDefinitions)
923-
val keyFormat: String =
923+
val keyFormat: String? =
924924
parseOptionalStringAttr(
925925
line,
926926
REGEX_KEYFORMAT,
@@ -1163,7 +1163,7 @@ class LLHlsPlaylistParser
11631163
HlsMediaPlaylist.Segment(
11641164
segmentUri,
11651165
initializationSegment ?: inferredInitSegment,
1166-
segmentTitle,
1166+
segmentTitle!!,
11671167
segmentDurationUs,
11681168
relativeDiscontinuitySequence,
11691169
segmentStartTimeUs,
@@ -1310,7 +1310,7 @@ class LLHlsPlaylistParser
13101310
private fun parseDrmSchemeData(
13111311
line: String, keyFormat: String?, variableDefinitions: MutableMap<String, String>
13121312
): SchemeData? {
1313-
val keyFormatVersions: String =
1313+
val keyFormatVersions: String? =
13141314
parseOptionalStringAttr(line, REGEX_KEYFORMATVERSIONS, "1", variableDefinitions)
13151315
if (KEYFORMAT_WIDEVINE_PSSH_BINARY == keyFormat) {
13161316
val uriString: String = parseStringAttr(line, REGEX_URI, variableDefinitions)
@@ -1451,7 +1451,7 @@ class LLHlsPlaylistParser
14511451
pattern: Pattern,
14521452
defaultValue: @PolyNull String?,
14531453
variableDefinitions: MutableMap<String, String>
1454-
): @PolyNull String {
1454+
): @PolyNull String? {
14551455
val matcher = pattern.matcher(line)
14561456
val value: @PolyNull String? =
14571457
if (matcher.find()) Assertions.checkNotNull<String?>(matcher.group(1)) else defaultValue
@@ -1461,7 +1461,7 @@ class LLHlsPlaylistParser
14611461
replaceVariableReferences(
14621462
value,
14631463
variableDefinitions
1464-
))!!
1464+
))
14651465
}
14661466

14671467
private fun parseOptionalDoubleAttr(

0 commit comments

Comments
 (0)