setPlaybackParameters() not overwriten by live adjusment #10883
Closed
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 are multiple sequences of handler messages which can cause a user request to update playback speed to be overwritten by the
LivePlaybackSpeedControl
value.All the sequeunces share a common feature that:
MSG_PLAYBACK_PARAMETERS_CHANGED_INTERNAL
executes after theMSG_SET_PLAYBACK_PARAMETERS
PlaybackParameters
in this internal change are not the intended speed.The easiest way to reproduce this is with AC-3 pass-thru audio, in this case the audio renderer does not properly support speed change, see bug:
#10865
According to this commit,
Add back support for setting audio pitch [andrewlewis]
This callback to report the internal speed change is needed for the renderers to run slow motion properly.
In any event, there is no reason to propegate this internal speed change to the user speed setting (
ExoPlayerImplInternal.playbackParameters
). The change simply fixesMSG_PLAYBACK_PARAMETERS_CHANGED_INTERNAL
not to update the user setting.