Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Cast] Support shuffle mode #2083

Open
MGaetan89 opened this issue Jan 28, 2025 · 3 comments
Open

[Cast] Support shuffle mode #2083

MGaetan89 opened this issue Jan 28, 2025 · 3 comments

Comments

@MGaetan89
Copy link
Contributor

Use case description

Currently (as of version 1.5.1), CastPlayer does not support shuffle mode:

getShuffleModeEnabled():

@Override
public boolean getShuffleModeEnabled() {
// TODO: Support shuffle mode.
return false;
}

setShuffleModeEnabled(boolean):

@Override
public void setShuffleModeEnabled(boolean shuffleModeEnabled) {
// TODO: Support shuffle mode.
}

I didn't find any issue/PR open related to this feature. Is there any blocker to support it?

Alternatives considered

We're currently experimenting with our own simple implementation that looks like (we updated the list of available commands):

override fun getShuffleModeEnabled(): Boolean {
    return false
}

override fun setShuffleModeEnabled(shuffleModeEnabled: Boolean) {
    remoteMediaClient?.queueShuffle(null)
}

But we're not sure if that's the way to go.

@marcbaechinger
Copy link
Contributor

Thanks for your report!

I think the cast API you are suggesting looks correct to me.

We need a way to reflect the shuffled timeline coming from the cast device. After a quick look I think this may just work but we need to test this.

CastPlayer is planned to be reworked by another team. I'll include this report in the requirements that need to be looked at and improved with a new version. I can't give you a timeline for this yet I'm afraid.

@MGaetan89
Copy link
Contributor Author

MGaetan89 commented Feb 3, 2025

CastPlayer is planned to be reworked by another team.

Thanks for the info.

Will this work be done in this repository? Or will it move somewhere else?

@marcbaechinger
Copy link
Contributor

marcbaechinger commented Feb 3, 2025

The new version will be a Media3 implementation and will land in this repo. The aim is to stream line the integration with a Media3 media session.

It's unclear yet whether there is a new implementation or whether the existing CastPlayer is changed. We are thinking of a more complete implementation that also aims for an out of the box integration with MediaSession and one of the services.

I am collecting the Cast bugs here in this issue tracker for requirements engineering of the new version and will add this issue to that as well.

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

No branches or pull requests

2 participants