diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java index 19416aae15..43ccdcdf43 100755 --- a/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/ImageUtils.java @@ -403,8 +403,7 @@ public class ImageUtils { com.google.common.io.Files.createParentDirs(tempFile); ProgressHandle progress = ProgressHandleFactory.createHandle("extracting temporary file " + file.getName()); - progress.start(); - progress.switchToDeterminate(100); + progress.start(100); try { ContentUtils.writeToFile(file, tempFile, progress, null, true); } catch (IOException ex) { diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/VideoFile.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/VideoFile.java index f4b02fbb1a..95985bbc4c 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/VideoFile.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/VideoFile.java @@ -29,9 +29,11 @@ import javafx.embed.swing.SwingFXUtils; import javafx.scene.image.Image; import javafx.scene.media.Media; import javafx.scene.media.MediaException; -import org.sleuthkit.autopsy.casemodule.Case; +import org.netbeans.api.progress.ProgressHandle; +import org.netbeans.api.progress.ProgressHandleFactory; import org.sleuthkit.autopsy.coreutils.ImageUtils; import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.coreutils.VideoUtils; import org.sleuthkit.autopsy.datamodel.ContentUtils; import org.sleuthkit.autopsy.imagegallery.ThumbnailCache; import org.sleuthkit.datamodel.AbstractFile; @@ -74,9 +76,13 @@ public class VideoFile extends DrawableFile { if (media != null) { return media; } - final File cacheFile = getCacheFile(this.getId()); - if (cacheFile.exists() == false) { - ContentUtils.writeToFile(this.getAbstractFile(), cacheFile); + final File cacheFile = VideoUtils.getTempVideoFile(this.getAbstractFile()); + + if (cacheFile.exists() == false || cacheFile.length() < getAbstractFile().getSize()) { + ProgressHandle progressHandle = ProgressHandleFactory.createHandle("writing temporary file to disk"); + progressHandle.start(100); + ContentUtils.writeToFile(this.getAbstractFile(), cacheFile, progressHandle, null, true); + progressHandle.finish(); } media = new Media(Paths.get(cacheFile.getAbsolutePath()).toUri().toString()); @@ -85,10 +91,6 @@ public class VideoFile extends DrawableFile { } - private File getCacheFile(long id) { - return new File(Case.getCurrentCase().getCacheDirectory() + File.separator + id); - } - public boolean isDisplayableAsMedia() { try { Media media = getMedia();