This commit is contained in:
Brage Skjønborg 2026-02-02 01:29:08 +01:00
parent 14633fe72c
commit 2979924068
3 changed files with 18 additions and 7 deletions

View File

@ -18,4 +18,10 @@ abstract class FfmpegTaskListener(taskType: TaskType): TaskListener(taskType) {
} }
abstract fun buildFfmpeg(listener: Listener? = null, execPath: String, logDirectory: File): FFmpeg abstract fun buildFfmpeg(listener: Listener? = null, execPath: String, logDirectory: File): FFmpeg
class FfmpegFailedException(
val logFile: File? = null,
message: String
) : RuntimeException(message)
} }

View File

@ -67,7 +67,10 @@ class SubtitleTaskListener(
} }
result.run(arguments) result.run(arguments)
if (result.result.resultCode != 0) { if (result.result.resultCode != 0) {
return ProcesserExtractResultEvent(status = TaskStatus.Failed).producedFrom(task) throw FfmpegFailedException(
logFile = result.logFile,
"FFmpeg worker returned non zero result code, was ${result.result.resultCode}"
)
} }
return ProcesserExtractResultEvent( return ProcesserExtractResultEvent(
@ -89,7 +92,8 @@ class SubtitleTaskListener(
TaskStatus.Cancelled -> "Canceled" TaskStatus.Cancelled -> "Canceled"
else -> "" else -> ""
} }
return ProcesserExtractResultEvent(null, status, error = message).producedFrom(task) val logFile = if (exception is FfmpegFailedException) exception.logFile?.absolutePath else null
return ProcesserExtractResultEvent(null, status, error = message, logFile = logFile).producedFrom(task)
} }
override fun buildFfmpeg(listener: FFmpeg.Listener?, execPath: String, logDirectory: File): FFmpeg { override fun buildFfmpeg(listener: FFmpeg.Listener?, execPath: String, logDirectory: File): FFmpeg {

View File

@ -74,10 +74,10 @@ class VideoTaskListener(
} }
result.run(arguments) result.run(arguments)
if (result.result.resultCode != 0) { if (result.result.resultCode != 0) {
return ProcesserEncodeResultEvent( throw FfmpegFailedException(
status = TaskStatus.Failed, logFile = result.logFile,
logFile = result.logFile.absolutePath "FFmpeg worker returned non zero result code, was ${result.result.resultCode}"
).producedFrom(task) )
} }
return ProcesserEncodeResultEvent( return ProcesserEncodeResultEvent(
@ -99,7 +99,8 @@ class VideoTaskListener(
TaskStatus.Cancelled -> "Canceled" TaskStatus.Cancelled -> "Canceled"
else -> "" else -> ""
} }
return ProcesserEncodeResultEvent(null, null, status, error = message).producedFrom(task) val logFile = if (exception is FfmpegFailedException) exception.logFile?.absolutePath else null
return ProcesserEncodeResultEvent(null, logFile, status, error = message).producedFrom(task)
} }
val listener = object : FFmpeg.Listener { val listener = object : FFmpeg.Listener {