From e368b8d255ff24ec6dd74f21c34ba2928494a2dd Mon Sep 17 00:00:00 2001 From: Brage Date: Sun, 30 Jul 2023 03:17:26 +0200 Subject: [PATCH] Updated decoder --- .../iktdev/streamit/content/encode/progress/Progress.kt | 3 +++ .../streamit/content/encode/progress/ProgressDecoder.kt | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/Progress.kt b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/Progress.kt index 1c4e721b..3b2b9cd4 100644 --- a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/Progress.kt +++ b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/Progress.kt @@ -4,5 +4,8 @@ data class Progress( val workId: String, val outFileName: String, val progress: Int = -1, + val time: String, + val duration: String, + val speed: String, val estimatedCompletion: String = "Unknown", ) \ No newline at end of file diff --git a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/ProgressDecoder.kt b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/ProgressDecoder.kt index 4d0878d6..4e92410b 100644 --- a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/ProgressDecoder.kt +++ b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/progress/ProgressDecoder.kt @@ -28,6 +28,7 @@ class ProgressDecoder(val workBase: WorkBase) { if (field == null || field == 0) field = value } + var durationTime: String = "NA" fun parseVideoProgress(lines: List): DecodedProgressData? { var frame: Int? = null var progress: String? = null @@ -66,6 +67,7 @@ class ProgressDecoder(val workBase: WorkBase) { } fun setDuration(value: String) { val results = Regex("Duration:\\s*([^,]+),").find(value)?.groupValues?.firstOrNull() + durationTime = Regex("[0-9]+:[0-9]+:[0-9]+.[0-9]+").find(results.toString())?.value ?: "NA" duration = timeSpanToSeconds(results) } @@ -81,7 +83,7 @@ class ProgressDecoder(val workBase: WorkBase) { fun getProgress(decoded: DecodedProgressData): Progress { if (duration == null) - return Progress(workId = workBase.workId, outFileName = File(workBase.outFile).name) + return Progress(workId = workBase.workId, outFileName = File(workBase.outFile).name, duration = durationTime, time = "NA", speed = "NA") val progressTime = timeSpanToSeconds(decoded.out_time) ?: 0 val diff = floor(progressTime.toDouble() / duration!!.toDouble()) val progress = floor(diff*100).toInt() @@ -91,7 +93,10 @@ class ProgressDecoder(val workBase: WorkBase) { return Progress( workId = workBase.workId, outFileName = File(workBase.outFile).name, progress = progress, - estimatedCompletion = getETA(ect) + estimatedCompletion = getETA(ect), + duration = durationTime, + time = decoded.out_time ?: "NA", + speed = decoded.speed?.toString() ?: "NA" ) }