decentraland / decentraland/unity-explorer
[QA] Streaming | video stream URL not synced for all users after reloading
- Dominant language
- C#
- Stars
- 23
- Forks
- 17
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 101
Description
### 🛠️ Build version:
`v0.153.0-alpha-main`
### 📔 Issue Description:
When a scene admin starts streaming a video via media source URL, non-admin users who teleport into the scene do not receive the synced video state. They see the default video template instead of the live stream, and reloading the scene causes playback to restart from the beginning rather than joining the stream in progress. Additionally, if the admin reloads, they lose the stream and are unable to recover it, while the non-admin continues playing independently — both users end up with fully desynced playback.
### 👣 STR:
1. Log in as a scene admin user and go to a scene with Scene Admin video streaming enabled.
2. As the admin, set the video source to the media URL `https://vz-7c61c1b5-d59.b-cdn.net/5a09c87e-e4e6-4b0c-9a87-e2efbd79ff55/playlist.m3u8` and hit Play.
3. Log in as a second user with no scene admin permissions and teleport to the same scene.
4. Observe the video state on the non-admin client.
5. Have the non-admin user reload the scene.
6. Have the admin user reload the scene and observe both clients.
### ✔️ Expected Result:
- Non-admin user joining the scene should see the same video stream that the admin started, synced to the current playback position.
- Reloading should not restart playback from the beginning.
- Leaving the scene/world and coming back should not restart playback from the beginning.
- Both users should remain in sync throughout the session.
- Admin reloading should not cause them to lose the stream.
### ❌ Actual Result with evidence:
- Non-admin user sees the default video template instead of the active stream upon joining.
- Non-admin user must reload to start seeing the video, but it starts from the beginning (not synced).
- Both users are out of sync after the first reload.
- A second reload by the non-admin restarts playback from the beginning again.
- When the admin reloads, they stop seeing the stream and see the default video template, and the url has been replaced for the template one. When they change it manually to the correct video url, the video starts from zero, but if other players are on the scene watching the video, for them the video continues. All videos play on different times depending if the user reloads or leaves the scene and comes back.
- The non-admin continues playing independently.
- End state: both clients are fully desynced, admin is stuck on template.
### ➗ Reproduction:
##### 🔁 Always - Reproduced consistently across multiple reload cycles in a single session.
### 🖥️ Operative system and additional Notes:
macOS — Apple M3 Pro
Windows
> ⚠️ Note: `MEDIA_STREAM`, `SCENE_ADMINS`, and `SYNC` log categories are suppressed in this build (`v0.153.0-alpha-main`), so no video or sync errors appear in Player.log. Behaviour was observed and confirmed through in-game visual testing only. Windows not tested.
[Player.log](https://github.com/user-attachments/files/29374988/Player.log)
https://github.com/user-attachments/assets/50916690-0487-4f77-a687-2a4d276cdeee
https://github.com/user-attachments/assets/26dc543d-6aeb-4ba4-b0df-bb0268351290
Contributor guide
Research direction
Start by reproducing the two-user flow in v0.153.0-alpha-main, focusing on MEDIA_STREAM, SCENE_ADMINS, and SYNC behavior across joining and reloads; the issue notes those log categories are suppressed. Trace the scene-admin media URL and playback state through joining, leaving, and reloading. Done means all clients retain the active stream and stay at the same playback position, including after an admin reload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, unity
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100