Corrections

This commit is contained in:
bskjon 2024-04-21 02:18:10 +02:00
parent a3a94a5f8c
commit 7becd3d30c
2 changed files with 8 additions and 4 deletions

View File

@ -42,7 +42,7 @@ dependencies {
implementation("org.json:json:20210307") implementation("org.json:json:20210307")
implementation("no.iktdev:exfl:0.0.13-SNAPSHOT") 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") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")

View File

@ -181,14 +181,14 @@ class EncodeArgumentCreatorTask(@Autowired override var coordinator: Coordinator
} }
} }
private class AudioArguments( class AudioArguments(
val audioStream: AudioStream, val audioStream: AudioStream,
val allStreams: ParsedMediaStreams, val allStreams: ParsedMediaStreams,
val preference: AudioPreference val preference: AudioPreference
) { ) {
fun isAudioCodecEqual() = audioStream.codec_name.lowercase() == preference.codec.lowercase() fun isAudioCodecEqual() = audioStream.codec_name.lowercase() == preference.codec.lowercase()
private fun shouldUseEAC3(): Boolean { 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 { fun getAudioArguments(): AudioArgumentsDto {
@ -196,7 +196,11 @@ class EncodeArgumentCreatorTask(@Autowired override var coordinator: Coordinator
val codecParams = if (shouldUseEAC3()) val codecParams = if (shouldUseEAC3())
listOf("-c:a", "eac3") listOf("-c:a", "eac3")
else if (!isAudioCodecEqual()) { 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 } else
listOf("-acodec", "copy") listOf("-acodec", "copy")
return AudioArgumentsDto( return AudioArgumentsDto(