Clarify & potentially change MediaController.Listener.onDisconnected behavior
@marcbaechinger is already working on this.
Since Feb 10, 2025.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
Version
Media3 1.5.1
More version details
No response
Devices that reproduce the issue
N/A
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
I have a common need to observe MediaSession lifecycle (from MediaSession creation to MediaSession.release). A MediaController seems the only way to observe MediaSession.release.
It is not clear from documentation (or my code inspection) whether MediaController.Listener.onDisconnected is called regardless of races between MediaSession.release() and MediaController.Builder.buildAsync, or if it is called even when MediaSession is already released prior to calling buildAsync.
It would be useful to have onDisconnected be called regardless of timing of MediaSession.release: this would essentially provide a singular signal for lifecycle termination.
Currently I always additionally check for !MediaController.isConnected once the buildAsync Future completes, to address potential races. (Plus handling potential Future/Executor exceptions.)
Or perhaps there is a better pattern?
Expected result
N/A
Actual result
N/A
Media
N/A
Bug Report
- You will email the zip file produced by
adb bugreportto android-media-github@google.com after filing this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.