diff --git a/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpCommandBuilder.java b/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpCommandBuilder.java index 5f5d662..58a0a50 100644 --- a/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpCommandBuilder.java +++ b/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpCommandBuilder.java @@ -55,6 +55,6 @@ public class YtDlpCommandBuilder { private static List buildOutput(@NotNull YtDlpSession session) { final var targetFilename = FilePath.outputDir() + "/" + session.getOutputFilename(); - return List.of("-o", targetFilename); + return List.of("--force-overwrites", "-o", targetFilename); } } diff --git a/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpTask.java b/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpTask.java index e061bd5..4951ba9 100644 --- a/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpTask.java +++ b/src/main/java/com/annimon/ffmpegbot/commands/ytdlp/YtDlpTask.java @@ -34,7 +34,10 @@ public class YtDlpTask { pb.redirectErrorStream(true); pb.inheritIO(); final Process process = pb.start(); - process.waitFor(); + int status = process.waitFor(); + if (status != 0) { + throw new RuntimeException("yt-dlp process was finished with non-zero value " + status); + } } catch (InterruptedException | IOException e) { throw new RuntimeException(e); }