diff --git a/src/main/java/me/kavin/piped/utils/CollectionUtils.java b/src/main/java/me/kavin/piped/utils/CollectionUtils.java index d8c7980..c6306b5 100644 --- a/src/main/java/me/kavin/piped/utils/CollectionUtils.java +++ b/src/main/java/me/kavin/piped/utils/CollectionUtils.java @@ -22,6 +22,11 @@ public class CollectionUtils { info.getStreamSegments().forEach(segment -> chapters.add(new ChapterSegment(segment.getTitle(), rewriteURL(segment.getPreviewUrl()), segment.getStartTimeSeconds()))); + final List previewFrames = new ObjectArrayList<>(); + + info.getPreviewFrames().forEach(frame -> new PreviewFrames(frame.getUrls(), frame.getFrameWidth(), frame.getFrameHeight(), + frame.getTotalCount(), frame.getDurationPerFrame(), frame.getFramesPerPageX(), frame.getFramesPerPageY())); + info.getSubtitles() .forEach(subtitle -> subtitles.add(new Subtitle(rewriteURL(subtitle.getContent()), subtitle.getFormat().getMimeType(), subtitle.getDisplayLanguageName(), @@ -51,14 +56,12 @@ public class CollectionUtils { final List relatedStreams = collectRelatedItems(info.getRelatedItems()); - final Streams streams = new Streams(info.getName(), info.getDescription().getContent(), + return new Streams(info.getName(), info.getDescription().getContent(), info.getTextualUploadDate(), info.getUploaderName(), substringYouTube(info.getUploaderUrl()), rewriteURL(info.getUploaderAvatarUrl()), rewriteURL(info.getThumbnailUrl()), info.getDuration(), info.getViewCount(), info.getLikeCount(), info.getDislikeCount(), info.getUploaderSubscriberCount(), info.isUploaderVerified(), audioStreams, videoStreams, relatedStreams, subtitles, livestream, rewriteVideoURL(info.getHlsUrl()), - rewriteVideoURL(info.getDashMpdUrl()), null, chapters); - - return streams; + rewriteVideoURL(info.getDashMpdUrl()), null, chapters, previewFrames); } public static List collectRelatedItems(List items) { diff --git a/src/main/java/me/kavin/piped/utils/obj/PreviewFrames.java b/src/main/java/me/kavin/piped/utils/obj/PreviewFrames.java new file mode 100644 index 0000000..0abfd2f --- /dev/null +++ b/src/main/java/me/kavin/piped/utils/obj/PreviewFrames.java @@ -0,0 +1,20 @@ +package me.kavin.piped.utils.obj; + +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; + +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +public class PreviewFrames { + + public List urls; + public int frameWidth; + public int frameHeight; + public int totalCount; + public int durationPerFrame; + public int framesPerPageX; + public int framesPerPageY; + +} diff --git a/src/main/java/me/kavin/piped/utils/obj/Streams.java b/src/main/java/me/kavin/piped/utils/obj/Streams.java index 7e4bcb9..10863d7 100644 --- a/src/main/java/me/kavin/piped/utils/obj/Streams.java +++ b/src/main/java/me/kavin/piped/utils/obj/Streams.java @@ -27,11 +27,13 @@ public class Streams { public List chapters; + public List previewFrames; + public Streams(String title, String description, String uploadDate, String uploader, String uploaderUrl, String uploaderAvatar, String thumbnailUrl, long duration, long views, long likes, long dislikes, long uploaderSubscriberCount, boolean uploaderVerified, List audioStreams, List videoStreams, List relatedStreams, List subtitles, boolean livestream, String hls, String dash, - String lbryId, List chapters) { + String lbryId, List chapters, List previewFrames) { this.title = title; this.description = description; this.uploadDate = uploadDate; @@ -54,5 +56,6 @@ public class Streams { this.dash = dash; this.lbryId = lbryId; this.chapters = chapters; + this.previewFrames = previewFrames; } }