diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java index 18606377..a83ccf9b 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java @@ -61,6 +61,8 @@ public class PeertubeStreamExtractor extends StreamExtractor { private final List audioStreams = new ArrayList<>(); private final List videoStreams = new ArrayList<>(); + private ParsingException subtitlesException = null; + public PeertubeStreamExtractor(final StreamingService service, final LinkHandler linkHandler) throws ParsingException { super(service, linkHandler); @@ -262,13 +264,19 @@ public class PeertubeStreamExtractor extends StreamExtractor { @Nonnull @Override - public List getSubtitlesDefault() { + public List getSubtitlesDefault() throws ParsingException { + if (subtitlesException != null) { + throw subtitlesException; + } return subtitles; } @Nonnull @Override - public List getSubtitles(final MediaFormat format) { + public List getSubtitles(final MediaFormat format) throws ParsingException { + if (subtitlesException != null) { + throw subtitlesException; + } return subtitles.stream() .filter(sub -> sub.getFormat() == format) .collect(Collectors.toList()); @@ -420,8 +428,8 @@ public class PeertubeStreamExtractor extends StreamExtractor { } } } - } catch (final Exception ignored) { - // Ignore all exceptions + } catch (final Exception e) { + subtitlesException = new ParsingException("Could not get subtitles", e); } } }