parseM3U8 static method
Implementation
static List<M3U8Item> parseM3U8({
required final String url,
required final Map<String, String> headers,
required final String data,
}) =>
RegExp(r'#(EXT-X-STREAM-INF|EXTINF):([^\n]+)\n([^\n]+)')
.allMatches(data)
.map(
(final RegExpMatch x) {
final Map<String, String> attributes = <String, String>{};
for (final String x in x.group(2)!.split(',')) {
final List<String> parsed = x.trim().split('=');
if (parsed.length == 2) {
attributes[parsed[0]] = parsed[1];
}
}
String route = x.group(3)!.trim();
if (!route.startsWith('http')) {
route = joinURL(url, route, removeParentLastRoute: true);
}
return M3U8Item(route, headers, attributes);
},
).toList();