-
Notifications
You must be signed in to change notification settings - Fork 5
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
[APT-10204] pass loadcontrol to exoplayer #35
[APT-10204] pass loadcontrol to exoplayer #35
Conversation
64a5215
to
1b2f073
Compare
1b2f073
to
9bf48ab
Compare
@@ -138,10 +134,11 @@ internal class MediaSessionCallback(private val onMediaSessionEventListener: OnM | |||
onStop() | |||
} | |||
|
|||
@Suppress("UNCHECKED_CAST") val initialOffset = extras.getSerializable(Constants.Keys.KEY_INITIAL_OFFSET) as Milliseconds | |||
val config = extras.getSerializable(Constants.Keys.KEY_ARMADILLO_CONFIG) as ArmadilloConfiguration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any way this could be missing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe so, but better to err on the safe side. In case it's missing from the bundle, it'll come back as null, so I'll provide a default value for the config.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, depends on what direction you wanna go with it
If there is no way it could be missing, can probably go with what you had before and we'll just get hit with a NPE or typecast exception we can investigate if there's a problem. Keeps the code simpler and confidently shows clear intent of how it's working/what should be happening
Having a fallback is safe, but it also obscures when something is wrong, so usually good to pair with logging an event to our dashboard. Not sure if we do that in Armadillo without it throwing an error that might stop the player
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Applying that to the config, I feel like it makes sense that I should always be expecting the configuration for the audio playable so I'll go with the former. And good point about fallback possibly obscuring errors.
a4d2fef
to
9bf48ab
Compare
Jira ticket
https://scribdjira.atlassian.net/browse/APT-10204
Description
This PR reverts the changes from this other PR #34 since it may have been leading to progress not being accurately reported by armadillo player, resulting in user losing listening progress. Will restore the bug fix from 1.3.2 if investigate and find it was not the cause of the progress loss.
This PR also introduces a way for the client using the armadillo player to pass in parameters for the load control applied to the exo player instance. This will allow users to have more control over the buffering strategy of the exo player when streaming audio.