3333import org .schabi .newpipe .extractor .sponsorblock .SponsorBlockApiSettings ;
3434import org .schabi .newpipe .extractor .sponsorblock .SponsorBlockExtractorHelper ;
3535import org .schabi .newpipe .extractor .sponsorblock .SponsorBlockSegment ;
36+ import org .schabi .newpipe .extractor .returnyoutubedislike .ReturnYouTubeDislikeApiSettings ;
37+ import org .schabi .newpipe .extractor .returnyoutubedislike .ReturnYouTubeDislikeExtractorHelper ;
38+ import org .schabi .newpipe .extractor .returnyoutubedislike .ReturnYouTubeDislikeInfo ;
3639import org .schabi .newpipe .extractor .utils .ExtractorHelper ;
3740
3841import java .io .IOException ;
@@ -71,22 +74,25 @@ public StreamInfo(final int serviceId,
7174
7275 public static StreamInfo getInfo (
7376 final String url ,
74- @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings )
77+ @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings ,
78+ @ Nullable final ReturnYouTubeDislikeApiSettings returnYouTubeDislikeApiSettings )
7579 throws IOException , ExtractionException {
76- return getInfo (NewPipe .getServiceByUrl (url ), url , sponsorBlockApiSettings );
80+ return getInfo (NewPipe .getServiceByUrl (url ), url , sponsorBlockApiSettings , returnYouTubeDislikeApiSettings );
7781 }
7882
7983 public static StreamInfo getInfo (
8084 @ Nonnull final StreamingService service ,
8185 final String url ,
82- @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings )
86+ @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings ,
87+ @ Nullable final ReturnYouTubeDislikeApiSettings returnYouTubeDislikeApiSettings )
8388 throws IOException , ExtractionException {
84- return getInfo (service .getStreamExtractor (url ), sponsorBlockApiSettings );
89+ return getInfo (service .getStreamExtractor (url ), sponsorBlockApiSettings , returnYouTubeDislikeApiSettings );
8590 }
8691
8792 public static StreamInfo getInfo (
8893 @ Nonnull final StreamExtractor extractor ,
89- @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings )
94+ @ Nullable final SponsorBlockApiSettings sponsorBlockApiSettings ,
95+ @ Nullable final ReturnYouTubeDislikeApiSettings returnYouTubeDislikeApiSettings )
9096 throws ExtractionException , IOException {
9197 extractor .fetchPage ();
9298 final StreamInfo streamInfo ;
@@ -101,6 +107,13 @@ public static StreamInfo getInfo(
101107 streamInfo .setSponsorBlockSegments (sponsorBlockSegments );
102108 }
103109
110+ if (returnYouTubeDislikeApiSettings != null ) {
111+ final ReturnYouTubeDislikeInfo rydInfo =
112+ ReturnYouTubeDislikeExtractorHelper .getInfo (
113+ streamInfo , returnYouTubeDislikeApiSettings );
114+ streamInfo .setReturnYouTubeDislikeInfo (rydInfo );
115+ }
116+
104117 return streamInfo ;
105118
106119 } catch (final ExtractionException e ) {
@@ -403,6 +416,7 @@ private static void extractOptionalData(final StreamInfo streamInfo,
403416 private List <MetaInfo > metaInfo = List .of ();
404417 private boolean shortFormContent = false ;
405418 private List <SponsorBlockSegment > sponsorBlockSegments = new ArrayList <>();
419+ @ Nullable private ReturnYouTubeDislikeInfo rydInfo ;
406420
407421 /**
408422 * Preview frames, e.g. for the storyboard / seekbar thumbnail preview
@@ -780,4 +794,13 @@ public void removeSponsorBlockSegment(final String uuid) {
780794 removeSponsorBlockSegment (target );
781795 }
782796 }
797+
798+ @ Nullable
799+ public ReturnYouTubeDislikeInfo getRydInfo () {
800+ return rydInfo ;
801+ }
802+
803+ public void setReturnYouTubeDislikeInfo (final @ Nullable ReturnYouTubeDislikeInfo rydInfo ) {
804+ this .rydInfo = rydInfo ;
805+ }
783806}
0 commit comments