Bugfix - wrong index used

This commit is contained in:
Brage Skjønborg 2026-01-21 23:34:02 +01:00
parent ec3be9eae5
commit 089406962b

View File

@ -4,18 +4,13 @@ import no.iktdev.eventi.events.EventListener
import no.iktdev.eventi.models.Event import no.iktdev.eventi.models.Event
import no.iktdev.mediaprocessing.ffmpeg.data.SubtitleStream import no.iktdev.mediaprocessing.ffmpeg.data.SubtitleStream
import no.iktdev.mediaprocessing.ffmpeg.dsl.SubtitleCodec import no.iktdev.mediaprocessing.ffmpeg.dsl.SubtitleCodec
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MediaStreamParsedEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.*
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MediaTracksExtractSelectedEvent
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.OperationType
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ProcesserExtractTaskCreatedEvent
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.StartProcessingEvent
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleData import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleData
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleTask import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.ExtractSubtitleTask
import no.iktdev.mediaprocessing.shared.database.stores.TaskStore import no.iktdev.mediaprocessing.shared.database.stores.TaskStore
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
import java.io.File import java.io.File
import java.util.UUID import java.util.*
@Component @Component
class MediaCreateExtractTaskListener: EventListener() { class MediaCreateExtractTaskListener: EventListener() {
@ -33,9 +28,12 @@ class MediaCreateExtractTaskListener: EventListener() {
val selectedEvent = event as? MediaTracksExtractSelectedEvent ?: return null val selectedEvent = event as? MediaTracksExtractSelectedEvent ?: return null
val streams = history.filterIsInstance<MediaStreamParsedEvent>().firstOrNull()?.data ?: return null val streams = history.filterIsInstance<MediaStreamParsedEvent>().firstOrNull()?.data ?: return null
val selectedStreams: Map<Int, SubtitleStream> = selectedEvent.selectedSubtitleTracks.associateWith { val selectedStreams: Map<Int, SubtitleStream> =
streams.subtitleStream[it] selectedEvent.selectedSubtitleTracks.mapNotNull { streamIndex ->
} val stream = streams.subtitleStream.firstOrNull { it.index == streamIndex }
stream?.let { streams.subtitleStream.indexOf(it) to it }
}.toMap()
val entries = selectedStreams.mapNotNull { (idx, stream )-> val entries = selectedStreams.mapNotNull { (idx, stream )->
toSubtitleArgumentData(idx, startedEvent.data.fileUri.let { File(it) }, stream) toSubtitleArgumentData(idx, startedEvent.data.fileUri.let { File(it) }, stream)