diff --git a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/YoutubeExtractor.kt b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/YoutubeExtractor.kt index 74dcc7ae77..0ace27a317 100644 --- a/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/YoutubeExtractor.kt +++ b/library/src/commonMain/kotlin/com/lagradost/cloudstream3/extractors/YoutubeExtractor.kt @@ -153,12 +153,16 @@ open class YoutubeExtractor : ExtractorApi() { requestBody = jsonBody ).parsed() - for (caption in response.captions.playerCaptionsTracklistRenderer.captionTracks) { - subtitleCallback.invoke( - newSubtitleFile( - caption.name.simpleText, - "${caption.baseUrl}&fmt=ttml" // The default format is not supported - ) { headers = HEADERS }) + val captionTracks = response.captions?.playerCaptionsTracklistRenderer?.captionTracks + + if (captionTracks != null) { + for (caption in captionTracks) { + subtitleCallback.invoke( + newSubtitleFile( + lang =caption.name.simpleText, + url ="${caption.baseUrl}&fmt=ttml" // The default format is not supported + ) { headers = HEADERS }) + } } val hlsUrl = response.streamingData.hlsManifestUrl @@ -214,7 +218,7 @@ open class YoutubeExtractor : ExtractorApi() { val streamingData: StreamingData, // val playbackTracking: PlaybackTracking, @JsonProperty("captions") - val captions: Captions, + val captions: Captions?, // val videoDetails: VideoDetails, // val annotations: List, // val playerConfig: PlayerConfig, @@ -240,12 +244,12 @@ open class YoutubeExtractor : ExtractorApi() { private data class Captions( @JsonProperty("playerCaptionsTracklistRenderer") - val playerCaptionsTracklistRenderer: PlayerCaptionsTracklistRenderer, + val playerCaptionsTracklistRenderer: PlayerCaptionsTracklistRenderer?, ) private data class PlayerCaptionsTracklistRenderer( @JsonProperty("captionTracks") - val captionTracks: List, + val captionTracks: List?, //val audioTracks: List, //val translationLanguages: List, //@JsonProperty("defaultAudioTrackIndex") @@ -276,4 +280,4 @@ open class YoutubeExtractor : ExtractorApi() { // val audioTrackId: String, // val captionsInitialState: String, // ) -} +} \ No newline at end of file