getHttpLiveStreamUrl method
Gets the HTTP Live Stream (HLS) manifest URL for the specified video (if it's a live video stream).
Implementation
Future<String> getHttpLiveStreamUrl(VideoId videoId) async {
final watchPage = await WatchPage.get(_httpClient, videoId.value);
final playerResponse = watchPage.playerResponse;
if (playerResponse == null) {
throw TransientFailureException(
"Couldn't extract the playerResponse from the Watch Page!",
);
}
if (!playerResponse.isVideoPlayable) {
throw VideoUnplayableException.unplayable(
videoId,
reason: playerResponse.videoPlayabilityError ?? '',
);
}
final hlsManifest = playerResponse.hlsManifestUrl;
if (hlsManifest == null) {
throw VideoUnplayableException.notLiveStream(videoId);
}
return hlsManifest;
}