diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index 10edd068a..150acf87b 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -943,7 +943,8 @@ public class YoutubeStreamExtractor extends StreamExtractor { } } - if (status.equalsIgnoreCase("unplayable") && reason != null) { + if ((status.equalsIgnoreCase("unplayable") || status.equalsIgnoreCase("error")) + && reason != null) { if (reason.contains("Music Premium")) { throw new YoutubeMusicPremiumContentException(); } @@ -963,6 +964,10 @@ public class YoutubeStreamExtractor extends StreamExtractor { if (detailedErrorMessage != null && detailedErrorMessage.contains("country")) { throw new GeographicRestrictionException( "This video is not available in client's country."); + } else if (detailedErrorMessage != null) { + throw new ContentNotAvailableException(detailedErrorMessage); + } else { + throw new ContentNotAvailableException(reason); } } }