diff --git a/common/src/main/java/ctbrec/recorder/LocalRecorder.java b/common/src/main/java/ctbrec/recorder/LocalRecorder.java index 91e27d62..d47385e2 100644 --- a/common/src/main/java/ctbrec/recorder/LocalRecorder.java +++ b/common/src/main/java/ctbrec/recorder/LocalRecorder.java @@ -792,24 +792,33 @@ public class LocalRecorder implements Recorder { // TODO maybe get file size and bitrate and check, if the values are plausible // we could also compare the length with the time elapsed since starting the recording private boolean deleteIfTooShort(Download download) { - long minimumLengthInSeconds = Config.getInstance().getSettings().minimumLengthInSeconds; - if(minimumLengthInSeconds <= 0) { - return false; - } - try { - LOG.debug("Determining video length for {}", download.getTarget()); File target = download.getTarget(); + if(!target.exists()) { + return true; + } + if(target.isDirectory()) { - if(!target.exists() || target.list() == null || target.list().length == 0) { + if(target.list() == null || target.list().length == 0) { + deleteDirectory(target); + deleteEmptyParents(target); return true; } } else { - if(!target.exists() || target.length() == 0) { + if(target.length() == 0) { + Files.delete(target.toPath()); + deleteEmptyParents(target.getParentFile()); return true; } } + long minimumLengthInSeconds = Config.getInstance().getSettings().minimumLengthInSeconds; + if(minimumLengthInSeconds <= 0) { + return false; + } + + LOG.debug("Determining video length for {}", download.getTarget()); + double duration = 0; if(target.isDirectory()) { File playlist = new File(target, "playlist.m3u8");