From df3db014945cd8aac269e7d8f22c46348b7aded9 Mon Sep 17 00:00:00 2001 From: CranberrySoup <142951702+CranberrySoup@users.noreply.github.com> Date: Thu, 9 May 2024 21:41:01 +0200 Subject: [PATCH] Add comments and change LoadType --- .../com/lagradost/cloudstream3/ui/player/IGenerator.kt | 10 ++++++++-- .../cloudstream3/ui/result/ResultViewModel2.kt | 2 +- .../lagradost/cloudstream3/utils/fcast/FcastSession.kt | 5 ++++- .../com/lagradost/cloudstream3/utils/fcast/Packets.kt | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/IGenerator.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/IGenerator.kt index af74cb57..c5de1a1c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/IGenerator.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/IGenerator.kt @@ -10,7 +10,8 @@ enum class LoadType { InAppDownload, ExternalApp, Browser, - Chromecast + Chromecast, + Fcast } fun LoadType.toSet() : Set { @@ -29,12 +30,17 @@ fun LoadType.toSet() : Set { ExtractorLinkType.VIDEO, ExtractorLinkType.M3U8 ) - LoadType.ExternalApp, LoadType.Unknown -> ExtractorLinkType.values().toSet() + LoadType.ExternalApp, LoadType.Unknown -> ExtractorLinkType.entries.toSet() LoadType.Chromecast -> setOf( ExtractorLinkType.VIDEO, ExtractorLinkType.DASH, ExtractorLinkType.M3U8 ) + LoadType.Fcast -> setOf( + ExtractorLinkType.VIDEO, + ExtractorLinkType.DASH, + ExtractorLinkType.M3U8 + ) } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt index f073a7c5..fd7282d1 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultViewModel2.kt @@ -1705,7 +1705,7 @@ class ResultViewModel2 : ViewModel() { acquireSingleLink( click.data, - LoadType.Chromecast, + LoadType.Fcast, txt(R.string.episode_action_cast_mirror) ) { (result, index) -> val host = device?.host ?: return@acquireSingleLink diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/FcastSession.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/FcastSession.kt index 75e3048a..1f33bca4 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/FcastSession.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/FcastSession.kt @@ -42,10 +42,13 @@ class FcastSession(private val hostAddress: String): AutoCloseable { val json = message?.toJson() val content = json?.toByteArray() ?: ByteArray(0) + + // Little endian starting from 1 + // https://gitlab.com/futo-org/fcast/-/wikis/Protocol-version-1 val size = content.size + 1 val sizeArray = ByteArray(4) { num -> - (size shr (8 * num) and 0xff).toByte() + (size shr 8 * num and 0xff).toByte() } Log.d(tag, "Sending message with size: $size, opcode: $opcode") diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/Packets.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/Packets.kt index adcd4979..61c00d6e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/Packets.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/Packets.kt @@ -1,5 +1,6 @@ package com.lagradost.cloudstream3.utils.fcast +// See https://gitlab.com/futo-org/fcast/-/wikis/Protocol-version-1 enum class Opcode(val value: Byte) { None(0), Play(1),