Skip to content

AudioTrackPositionTracker returns negative timestamps after reset #7456

@tonihei

Description

@tonihei

[REQUIRED] Issue description

AudioTrackPositionTracker sometimes returns a negative timestamps immediately after a reset (e.g. at the start of playback, or after a seek). This causes the rendererPositionUs in ExoPlayerImplInternal to be negative, which in turn violates other assumptions the player and the renderers make about the position. This issue was originally reported in #7449. The PR proposed a workaround for this problem for the total buffered duration specifically, but it should ideally be fixed closer to the root cause.

[REQUIRED] Reproduction steps

Play "Apple TS media playlist" in the demo app and add logging similar to this one. The issue doesn't happen after all resets, but only occasionally.

[REQUIRED] Link to test content

"Apple TS media playlist" in the demo app

[REQUIRED] A full bug report captured from the device

Not relevant.

[REQUIRED] Version of ExoPlayer being used

dev-v2

[REQUIRED] Device(s) and version(s) of Android being used

Pixel 4, Android 11. Probably unrelated.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions