diff --git a/Encode/build.gradle.kts b/Encode/build.gradle.kts index e2f41729..a1e0b30c 100644 --- a/Encode/build.gradle.kts +++ b/Encode/build.gradle.kts @@ -23,7 +23,7 @@ repositories { dependencies { implementation(project(":CommonCode")) - implementation("no.iktdev.streamit.library:streamit-library-kafka:0.0.2-alpha63") + implementation("no.iktdev.streamit.library:streamit-library-kafka:0.0.2-alpha69") implementation("no.iktdev:exfl:0.0.12-SNAPSHOT") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1") diff --git a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/EncodeDaemon.kt b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/EncodeDaemon.kt index 1a37446d..57bc237c 100644 --- a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/EncodeDaemon.kt +++ b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/EncodeDaemon.kt @@ -14,10 +14,14 @@ class EncodeDaemon(val referenceId: String, val work: EncodeWork, val daemonInte var outputCache = observableListOf() private val decoder = ProgressDecoder() private fun produceProgress(items: List) { - val progress = decoder.parseVideoProgress(items) - if (progress != null) { - daemonInterface.onProgress(referenceId, work, progress) - outputCache.clear() + try { + val progress = decoder.parseVideoProgress(items) + if (progress != null) { + daemonInterface.onProgress(referenceId, work, progress) + outputCache.clear() + } + } catch (e: Exception) { + e.message } } diff --git a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/RunnerCoordinator.kt b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/RunnerCoordinator.kt index 67f6b0d5..7f2ab9ed 100644 --- a/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/RunnerCoordinator.kt +++ b/Encode/src/main/kotlin/no/iktdev/streamit/content/encode/runner/RunnerCoordinator.kt @@ -40,15 +40,20 @@ class RunnerCoordinator { fun addEncodeMessageToQueue(message: Message) { encodeExecutor.execute { - runBlocking { - if (message.data is EncodeWork) { - val data: EncodeWork = message.data as EncodeWork - val encodeDaemon = EncodeDaemon(message.referenceId, data, encodeListener) - encodeDaemon.runUsingWorkItem() - } else { - producer.sendMessage(KafkaEvents.EVENT_ENCODER_STARTED_VIDEO_FILE.event, message.withNewStatus(Status(StatusType.ERROR, "Data is not an instance of EncodeWork"))) + try { + runBlocking { + if (message.data is EncodeWork) { + val data: EncodeWork = message.data as EncodeWork + val encodeDaemon = EncodeDaemon(message.referenceId, data, encodeListener) + encodeDaemon.runUsingWorkItem() + } else { + producer.sendMessage(KafkaEvents.EVENT_ENCODER_STARTED_VIDEO_FILE.event, message.withNewStatus(Status(StatusType.ERROR, "Data is not an instance of EncodeWork"))) + } } + } catch (e: Exception) { + producer.sendMessage(KafkaEvents.EVENT_ENCODER_ENDED_VIDEO_FILE.event, message.withNewStatus(Status(StatusType.ERROR, e.message))) } + } producer.sendMessage(KafkaEvents.EVENT_ENCODER_STARTED_VIDEO_FILE.event, message.withNewStatus(Status(StatusType.PENDING))) } @@ -56,12 +61,16 @@ class RunnerCoordinator { fun addExtractMessageToQueue(message: Message) { extractExecutor.execute { runBlocking { - if (message.data is ExtractWork) { - val data: ExtractWork = message.data as ExtractWork - val extractDaemon = ExtractDaemon(message.referenceId, data, extractListener) - extractDaemon.runUsingWorkItem() - } else { - producer.sendMessage(KafkaEvents.EVENT_ENCODER_STARTED_SUBTITLE_FILE.event, message.withNewStatus(Status(StatusType.ERROR, "Data is not an instance of ExtractWork"))) + try { + if (message.data is ExtractWork) { + val data: ExtractWork = message.data as ExtractWork + val extractDaemon = ExtractDaemon(message.referenceId, data, extractListener) + extractDaemon.runUsingWorkItem() + } else { + producer.sendMessage(KafkaEvents.EVENT_ENCODER_STARTED_SUBTITLE_FILE.event, message.withNewStatus(Status(StatusType.ERROR, "Data is not an instance of ExtractWork"))) + } + } catch (e: Exception) { + producer.sendMessage(KafkaEvents.EVENT_ENCODER_ENDED_SUBTITLE_FILE.event, message.withNewStatus(Status(StatusType.ERROR, e.message))) } } } diff --git a/Reader/build.gradle.kts b/Reader/build.gradle.kts index de648643..1dc0e690 100644 --- a/Reader/build.gradle.kts +++ b/Reader/build.gradle.kts @@ -23,7 +23,7 @@ repositories { } dependencies { - implementation("no.iktdev.streamit.library:streamit-library-kafka:0.0.2-alpha68") + implementation("no.iktdev.streamit.library:streamit-library-kafka:0.0.2-alpha69") implementation("no.iktdev:exfl:0.0.12-SNAPSHOT") implementation("no.iktdev.streamit.library:streamit-library-db:0.0.6-alpha7")