You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Inconsistent currentPosition via MediaBrowser if skip silence is enabled #765
Pixel 6a Android 13, but I expect the same on all non-legacy controllers
Reproducible in the demo app?
I did not find any spoken audio files in demo app. Music files do not result in significant skip silence effect. Hence, I could not reproduce that using demo app. But it should be straight forward to test. I find this the bug most obvious when listening to an audiobook at e.g. 2x speed with skip silence turned on.
Expected result
Position would jump according to skipped parts due to skip silence.
Actual result
Position is behaving as if skip silence is not enabled. Only after few seconds it jumps to the correct position.
I guess the issue is that the MediaControllerImplBase:maybeUpdateCurrentPositionMs is making estimations based on the playback speed and time elapsed and there are no updates when skip silence occurs.
The position in the underlying Player does not have the the same issue.
I think your guess is correct, and further, the estimatedPositionMs may be based on the old playerInfo.sessionPositionInfo.positionInfo.positionMs with the elapsedTimeMs and the playbackSpeed, before the sessionPositionInfo is periodically updated to the controller. The update interval is 3s, so I guess that's why you saw it jumped to the correct position after a few seconds.
Anyway, this looks like a bug and we will be providing a solution soon.
Activity
tianyif commentedon Oct 30, 2023
@JureSencar, thanks for reporting!
I think your guess is correct, and further, the
estimatedPositionMsmay be based on the oldplayerInfo.sessionPositionInfo.positionInfo.positionMswith theelapsedTimeMsand theplaybackSpeed, before thesessionPositionInfois periodically updated to the controller. The update interval is 3s, so I guess that's why you saw it jumped to the correct position after a few seconds.Anyway, this looks like a bug and we will be providing a solution soon.
Emit onPositionDiscontinuity event when silence is skipped
Emit onPositionDiscontinuity event when silence is skipped