From 7becd3d30ca4ef3b9aa8538333c05a97a24d4b2e Mon Sep 17 00:00:00 2001 From: bskjon Date: Sun, 21 Apr 2024 02:18:10 +0200 Subject: [PATCH] Corrections --- apps/converter/build.gradle.kts | 2 +- .../tasks/event/ffmpeg/EncodeArgumentCreatorTask.kt | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/converter/build.gradle.kts b/apps/converter/build.gradle.kts index eb193fd7..e55c23ee 100644 --- a/apps/converter/build.gradle.kts +++ b/apps/converter/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { implementation("org.json:json:20210307") implementation("no.iktdev:exfl:0.0.13-SNAPSHOT") - implementation("no.iktdev.library:subtitle:1.7.8-SNAPSHOT") + implementation("no.iktdev.library:subtitle:1.7.9-SNAPSHOT") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1") diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/ffmpeg/EncodeArgumentCreatorTask.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/ffmpeg/EncodeArgumentCreatorTask.kt index 2c441119..cdcf8468 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/ffmpeg/EncodeArgumentCreatorTask.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/ffmpeg/EncodeArgumentCreatorTask.kt @@ -181,14 +181,14 @@ class EncodeArgumentCreatorTask(@Autowired override var coordinator: Coordinator } } - private class AudioArguments( + class AudioArguments( val audioStream: AudioStream, val allStreams: ParsedMediaStreams, val preference: AudioPreference ) { fun isAudioCodecEqual() = audioStream.codec_name.lowercase() == preference.codec.lowercase() private fun shouldUseEAC3(): Boolean { - return (preference.defaultToEAC3OnSurroundDetected && audioStream.channels > 2 && audioStream.codec_name.lowercase() != "eac3") + return (preference.defaultToEAC3OnSurroundDetected && audioStream.channels > 2 && audioStream.codec_name.lowercase() == "eac3") } fun getAudioArguments(): AudioArgumentsDto { @@ -196,7 +196,11 @@ class EncodeArgumentCreatorTask(@Autowired override var coordinator: Coordinator val codecParams = if (shouldUseEAC3()) listOf("-c:a", "eac3") else if (!isAudioCodecEqual()) { - listOf("-c:a", preference.codec) + val codecSwap = mutableListOf("-c:a", preference.codec) + if (audioStream.channels > 2 && !preference.preserveChannels) { + codecSwap.addAll(listOf("-ac", "2")) + } + codecSwap } else listOf("-acodec", "copy") return AudioArgumentsDto(