decentraland / decentraland/godot-explorer
Cast v2 video does not render on mobile inside Worlds (works on LANDs and on Desktop)
- Dominant language
- Rust
- Stars
- 18
- Forks
- 19
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 43
Description
### Platform
Android (mobile). Desktop (Unity/Explorer) works correctly in the same scenario.
### App Version
RC 1.12.1 — `v1.12.1.1520-69a8567-prod` (PR #2687)
### Device Information
Not specified (Android device used by QA)
### Issue Description
The DCL Cast v2 fixes shipped in #2625 (which closed #2624 — "Cast v2 streams are never subscribed, and there is no stream selection") do not appear to work end-to-end on mobile when the scene runs **inside a World**.
- In Genesis City LANDs (tested at `-133,-42`) the Cast v2 stream **renders correctly** on mobile.
- In a World (tested `Ryumi.dcl.eth`) the video screen stays **black on mobile**, while the **same stream at the same time renders fine on Desktop**, same realm/world.
The stream was published via Admin Tools → Video screens → Media source: **DCL Cast** (active DCL Cast room, presenting).
This was the exact end-to-end case flagged as **unverified** in the 1.12.1 RC QA checklist for #2625, so it needs a review of the Cast v2 subscription/stream-selection path with World realms.
Note from Mateo: this is **not a regression** — LiveKit video streams were also not working in 1.12.0 — so it does not block the 1.12.1 RC. It may also turn out to be a scene / multiplayer-server issue where the stream is not being synced in Worlds, so the investigation should cover both the client subscription path and the World realm/comms setup.
### Expected Behavior
A DCL Cast v2 stream that renders on Desktop should also render on mobile when the scene is deployed to a World, with audio in sync — same as it does in Genesis City LANDs.
### Steps to Reproduce
1. Deploy/enter a scene with a `livekit-video://` screen in a World (e.g. `Ryumi.dcl.eth`).
2. As scene admin, open Admin Tools → Video screens → Media source → **DCL Cast**, activate the room and start streaming from the browser (camera or screenshare).
3. Open the same World on Desktop → the screen renders the video.
4. Open the same World on mobile (godot-explorer RC 1.12.1) → the screen stays black.
5. Repeat the same flow on a Genesis City LAND (e.g. `-133,-42`) → mobile renders the video correctly.
### Occurrence
100% in Worlds; 0% in Genesis City LANDs (works there).
### Investigation Notes / Scope
- Review the Cast v2 LiveKit track subscription and Unity-parity stream selection introduced in #2625 for World realms specifically.
- Check whether the video track is published/announced differently in a World (realm/comms room per World vs Genesis City island).
- Rule out a scene-side / sdk-multiplayer-server sync issue before changing client code.
### Related
- #2624 — LiveKit video transmission not working: Cast v2 streams are never subscribed (closed by #2625)
- #2625 — fix: subscribe Cast v2 LiveKit video tracks and port Unity stream selection
- #2687 — RFR Release Candidate 1.12.1 (where this was reported)
Reported by Ludmila Fantaniella during 1.12.1 RC QA.
Requested by Mateo via Slack
Contributor guide
Assessment
This issue has not been assessed yet.