parseMediaPlaylist method
Parses the HLS media playlist from the given uri
.
Returns an HlsMediaPlaylist if successful, otherwise null
.
Implementation
Future<HlsMediaPlaylist?> parseMediaPlaylist(
Uri uri, {
Map<String, Object>? headers,
String? hlsKey,
}) async {
final HlsPlaylist? playList =
await parsePlaylist(uri, headers: headers, hlsKey: hlsKey);
if (playList is HlsMasterPlaylist) {
for (final Uri? _uri in playList.mediaPlaylistUrls) {
if (_uri == null) continue;
Uri masterUri = '${uri.pathPrefix()}${_uri.path}'.toSafeUri();
HlsMediaPlaylist? mediaPlayList = await parseMediaPlaylist(
masterUri,
headers: headers,
hlsKey: uri.generateMd5,
);
return mediaPlayList;
}
} else if (playList is HlsMediaPlaylist) {
return playList;
}
return null;
}