diff --git a/app/src/main/kotlin/com/bodycamera/twentyfoulabs/data/ptt/PttAudioClient.kt b/app/src/main/kotlin/com/bodycamera/twentyfoulabs/data/ptt/PttAudioClient.kt index dc16712..7a7cabf 100644 --- a/app/src/main/kotlin/com/bodycamera/twentyfoulabs/data/ptt/PttAudioClient.kt +++ b/app/src/main/kotlin/com/bodycamera/twentyfoulabs/data/ptt/PttAudioClient.kt @@ -858,22 +858,27 @@ class PttAudioClient @Inject constructor( suppliedUrl: String?, fallbackPath: String ): String { - if (suppliedUrl.isNullOrBlank()) { return "$MEDIA_BASE_URL/$fallbackPath" } - return when { - suppliedUrl.startsWith( - "http://" - ) || - suppliedUrl.startsWith( - "https://" - ) -> suppliedUrl + // Rails (BROWSER_PROXY) envĂ­a "/media-mtx/ptt/u/:id/whip". + // MediaMTX espera "http://host:8889/ptt/u/:id/whip" (sin prefijo media-mtx). + val raw = suppliedUrl.trim() - else -> - "$MEDIA_BASE_URL/" + - suppliedUrl.trimStart('/') + return when { + raw.startsWith("http://") || raw.startsWith("https://") -> { + if (raw.contains("/media-mtx/")) { + "$MEDIA_BASE_URL/" + raw.substringAfter("/media-mtx/").trimStart('/') + } else { + raw + } + } + + else -> { + val path = raw.trimStart('/').removePrefix("media-mtx/") + "$MEDIA_BASE_URL/$path" + } } }