Skip to content

Fix casting unmuxed-HLS sources (Nebula) to FCast and Chromecast - #3477

Open
ajcoll5 wants to merge 1 commit into
futo-org:masterfrom
ajcoll5:fix-nebula-casting
Open

Fix casting unmuxed-HLS sources (Nebula) to FCast and Chromecast#3477
ajcoll5 wants to merge 1 commit into
futo-org:masterfrom
ajcoll5:fix-nebula-casting

Conversation

@ajcoll5

@ajcoll5 ajcoll5 commented Aug 28, 2026

Copy link
Copy Markdown

Nebula gives video and audio as two sources that are actually the same HLS manifest, which castIfAvailable didn't have a path for - causing an "JSHLSManifestSource" error. Fixing that showed two bugs in castProxiedHls on Chromecast. It resolved playlist-relative URLs against the pre-redirect URL instead of the actual response URL (Nebula's manifest 302s to a different host), and it dropped the EXT-X-MAP init segment when rebuilding the proxied playlist, breaking fMP4 playback.

Fixes #3239 .

Tested on a Pixel 10 casting Nebula video to both FCast receiver and Chromecast - Nebula videos play correctly on both now. Performed random tests of other sources - they continue to work comparatively to an unmodified version of Grayjay.

…urces

Unmuxed video+audio sources that point at the same HLS manifest (e.g. Nebula) crashed FCast casting with a ClassCastException. Chromecast also broken on the same source due to castProxiedHls resolving playlist-relative URLs against the pre-redirect request URL and dropping the EXT-X-MAP init segment.
@Zvonimir-FUTO Zvonimir-FUTO added Enhancement New feature or request Nebula Casting Related to FCast, AirPlay, Chromecast Android labels Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Android Casting Related to FCast, AirPlay, Chromecast CLA-signed Enhancement New feature or request Nebula

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Nebula Plugin v17: FCast casting broken (regression)

2 participants