package photato.core.entities;
import com.google.gson.annotations.Expose;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.logging.Level;
import java.util.logging.Logger;
import photato.Routes;
import photato.core.metadata.Metadata;
import photato.helpers.FileHelper;
import photato.helpers.Md5;
import photato.helpers.PathHelper;
public class PhotatoVideo extends PhotatoMedia {
@Expose
public final String videoType;
@Expose
public final String videoPath;
@Expose
public final long filesize;
public PhotatoVideo(Path rootFolder, Path path, Metadata metadata, PictureInfos thumbnailInfos, PictureInfos fullScreenInfos, long lastModificationTimestamp) {
super("video", rootFolder, path, metadata, thumbnailInfos, fullScreenInfos, lastModificationTimestamp);
if (this.filename.length() > 40 || this.filename.contains("_") || this.filename.toLowerCase().startsWith("vid")) {
this.name = path.getParent().getFileName().toString();
} else {
this.name = path.getParent().getFileName() + "/" + this.filename;
}
this.videoType = "video/" + FileHelper.getExtension(path.toString()).toLowerCase();
this.videoPath = Routes.rawVideosRootUrl + "/" + PathHelper.getPathString(rootFolder, path);
long tmpFilesize;
try {
tmpFilesize =Files.size(this.fsPath);
} catch (IOException ex) {
tmpFilesize=0;
}
this.filesize = tmpFilesize;
}
public static Path getExtractedPicturePath(Path extractedVideoPicturesFolders, Path videoFsPath, long videoLastModificationTimestamp) {
String src = videoFsPath + "_" + videoLastModificationTimestamp;
return extractedVideoPicturesFolders.resolve(Md5.encodeString(src) + ".jpg");
}
}