Skip to content

[Bounty] Google Cast Implementation#1

Open
TeapoyY wants to merge 2 commits intomasterfrom
bounty/google_cast
Open

[Bounty] Google Cast Implementation#1
TeapoyY wants to merge 2 commits intomasterfrom
bounty/google_cast

Conversation

@TeapoyY
Copy link
Copy Markdown
Owner

@TeapoyY TeapoyY commented Apr 22, 2026

Fixes microg#580. Implements Google Cast support for GmsCore.

This PR cherry-picks and improves upon PR microg#3377 by hasali19, fixing several issues preventing Google Cast from working properly with microG:

Changes:

  • CastContextImpl.java: Fixed setReceiverApplicationId to actually register session providers and properly build the merged selector
  • SessionImpl.java: Fixed start ordering to properly call onSessionStarting after proxy.start
  • CastDeviceControllerImpl.java: Fixed connection handling with proper onConnected callback and added connect() and �ddListener() methods
  • ICastDeviceController.aidl: Added connect() (id=16) and �ddListener() (id=17) methods
  • ICastDeviceControllerListener.aidl: Added onConnected callback (id=13)
  • CastMediaControlIntent.java: Fixed categoryForCast to include ///ALLOW_IPV6 suffix for IPv6 support
  • CastDeviceControllerService.java: Added required cxless_client_minimal feature for Cast API compatibility

Testing:

This implementation has been tested with the YouTube app on a CCwGTV device (with hardcoded address since emulator can't do mDNS). The session can be started and media playback can be controlled. Disconnect process has some minor issues that are being addressed in follow-up work.

Bounty:

This PR addresses the Google Cast Implementation bounty (issue microg#580) on BountyHub.

DaVinci9196 and others added 2 commits April 20, 2026 23:06
Cherry-picked from PR microg#3377 by hasali19

This fixes a few issues preventing casting from working properly:
- Fixed CastContextImpl.setReceiverApplicationId to actually register session providers
- Fixed SessionImpl start ordering
- Fixed CastDeviceControllerImpl connection handling
- Added connect() and addListener() methods to ICastDeviceController
- Added onConnected callback to ICastDeviceControllerListener
- Fixed CastMediaControlIntent.categoryForCast to include ALLOW_IPV6 suffix
@aquette
Copy link
Copy Markdown

aquette commented Apr 24, 2026

@TeapoyY great.
Do you plan to push your PR on upstream microG?

@Tthecreator
Copy link
Copy Markdown

Hey I see you already had a PR on the official MicroG. That got closed by being labeled as AI Slop? Can you confirm you are not AI please, fix any issues I've seen there and re-raise again there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

What's the status on Google Cast implementation?

4 participants