Add (PlaySession-)identifier to MediaStream #2935
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a bug in this change that causes the repeat mode to fail (all playback will stop and you need to manually select an item to get it going again). I found out repeat mode crashes the app on master though, so an improvement I guess? Will fix in a different PR.
We're also missing a preload implementation now (RIP gappless playback) but the old implementation was bad anyway, so will re-implement in a different PR as well.
Changes
Get play session id from backend
Use the MediaInfo API to submit an (empty) device profile and get some playback information back
We don't use most of the info and always attempt to direct stream right now because of course the client
needs to determine which API to call for that instead of the backend returning a (signed) URL....
We do have a PlaySessionId which I'm 99% I can generate client side as well....
Add AudioMediaStreamResolver
To be honest still no idea what the difference between the two audio API's is...
Rewrite MediaStreamService as MediaStreamState
This way the stream info is exposed to plugins
Use playSessionId in PlaySessionService
See previous item
Fix ExoPlayerBackend not always playing requested stream
This didn't really happen in the previous stream->backend code because it was always reset
Issues
Haven't had a chance to say this for a bit but this is as always a part of #1057!