/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.core.entity.content; import im.actor.core.api.ApiDocumentExVideo; import im.actor.core.api.ApiDocumentMessage; import im.actor.core.api.ApiFastThumb; import im.actor.core.entity.FileReference; import im.actor.core.entity.content.internal.ContentLocalContainer; import im.actor.core.entity.content.internal.ContentRemoteContainer; import im.actor.core.entity.content.internal.LocalFastThumb; import im.actor.core.entity.content.internal.LocalVideo; public class VideoContent extends DocumentContent { public static VideoContent createLocalVideo(String descriptor, String fileName, int fileSize, int w, int h, int duration, FastThumb fastThumb) { return new VideoContent(new ContentLocalContainer( new LocalVideo( fileName, descriptor, fileSize, "video/mp4", fastThumb != null ? new LocalFastThumb(fastThumb) : null, w, h, duration))); } public static VideoContent createRemoteVideo(FileReference reference, int w, int h, int duration, FastThumb fastThumb) { return new VideoContent(new ContentRemoteContainer( new ApiDocumentMessage(reference.getFileId(), reference.getAccessHash(), reference.getFileSize(), reference.getFileName(), "video/mp4", fastThumb != null ? new ApiFastThumb( fastThumb.getW(), fastThumb.getH(), fastThumb.getImage()) : null, new ApiDocumentExVideo(w, h, duration)))); } private int duration; private int w; private int h; public VideoContent(ContentRemoteContainer contentContainer) { super(contentContainer); ApiDocumentExVideo video = (ApiDocumentExVideo) ((ApiDocumentMessage) contentContainer.getMessage()).getExt(); w = video.getW(); h = video.getH(); duration = video.getDuration(); } public VideoContent(ContentLocalContainer contentContainer) { super(contentContainer); LocalVideo localVideo = (LocalVideo) contentContainer.getContent(); w = localVideo.getW(); h = localVideo.getH(); duration = localVideo.getDuration(); } public int getDuration() { return duration; } public int getW() { return w; } public int getH() { return h; } }