diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3315f668..74181411 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,9 +17,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - + - name: Cache CommonCode Gradle dependencies + id: cache-gradle + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('CommonCode/gradle/wrapper/gradle-wrapper.properties') }} - name: Build CommonCode + if: steps.cache-gradle.outputs.cache-hit != 'true' run: | cd CommonCode chmod +x ./gradlew @@ -44,6 +50,14 @@ jobs: echo "::set-output name=changed::false" fi + - name: Cache CommonCode Gradle dependencies + id: cache-gradle + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('CommonCode/gradle/wrapper/gradle-wrapper.properties') }} + + - name: Build Encode module id: build-encode run: | @@ -97,6 +111,13 @@ jobs: echo "::set-output name=changed::false" fi + - name: Cache CommonCode Gradle dependencies + id: cache-gradle + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('CommonCode/gradle/wrapper/gradle-wrapper.properties') }} + - name: Build Reader module id: build-reader run: | diff --git a/Reader/build.gradle.kts b/Reader/build.gradle.kts index 97070455..0e001ce6 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-alpha39") + implementation("no.iktdev.streamit.library:streamit-library-kafka:0.0.2-alpha41") implementation("no.iktdev:exfl:0.0.4-SNAPSHOT") implementation("com.github.pgreze:kotlin-process:1.3.1") diff --git a/Reader/src/main/kotlin/no/iktdev/streamit/content/reader/analyzer/EncodedDeserializers.kt b/Reader/src/main/kotlin/no/iktdev/streamit/content/reader/analyzer/EncodedDeserializers.kt index 9b5e30f9..a6c85829 100644 --- a/Reader/src/main/kotlin/no/iktdev/streamit/content/reader/analyzer/EncodedDeserializers.kt +++ b/Reader/src/main/kotlin/no/iktdev/streamit/content/reader/analyzer/EncodedDeserializers.kt @@ -27,31 +27,36 @@ class EncodedDeserializers { val mediaStreams = object : IMessageDataDeserialization { override fun deserialize(incomingMessage: Message): MediaStreams? { - if (incomingMessage.status.statusType != StatusType.SUCCESS) { - return null - } - /*return gson.fromJson(streams.value().data as String, MediaStreams::class.java)*/ - val jsonObject = gson.fromJson(incomingMessage.dataAsJson(), JsonObject::class.java) + return try { + if (incomingMessage.status.statusType != StatusType.SUCCESS) { + return null + } + /*return gson.fromJson(streams.value().data as String, MediaStreams::class.java)*/ + val jsonObject = gson.fromJson(incomingMessage.dataAsJson(), JsonObject::class.java) - val streamsJsonArray = jsonObject.getAsJsonArray("streams") + val streamsJsonArray = jsonObject.getAsJsonArray("streams") - val rstreams = streamsJsonArray.mapNotNull { streamJson -> - val streamObject = streamJson.asJsonObject + val rstreams = streamsJsonArray.mapNotNull { streamJson -> + val streamObject = streamJson.asJsonObject - val codecType = streamObject.get("codec_type").asString - if (streamObject.has("codec_name") && streamObject.get("codec_name").asString == "mjpeg") { - null - } else { - when (codecType) { - "video" -> gson.fromJson(streamObject, VideoStream::class.java) - "audio" -> gson.fromJson(streamObject, AudioStream::class.java) - "subtitle" -> gson.fromJson(streamObject, SubtitleStream::class.java) - else -> null //throw IllegalArgumentException("Unknown stream type: $codecType") + val codecType = streamObject.get("codec_type").asString + if (streamObject.has("codec_name") && streamObject.get("codec_name").asString == "mjpeg") { + null + } else { + when (codecType) { + "video" -> gson.fromJson(streamObject, VideoStream::class.java) + "audio" -> gson.fromJson(streamObject, AudioStream::class.java) + "subtitle" -> gson.fromJson(streamObject, SubtitleStream::class.java) + else -> null //throw IllegalArgumentException("Unknown stream type: $codecType") + } } } - } - return MediaStreams(rstreams) + return MediaStreams(rstreams) + } catch (e: Exception) { + e.printStackTrace() + null + } } }