这是indexloc提供的服务,不要输入任何密码
Skip to content

Unexpected AudioSink Discontinuity When Playing Playlist of AAC Streams (API 29–33) #2544

@Magtuz

Description

@Magtuz

Version

Media3 1.7.1 (same as 1.6.1)

More version details

No response

Devices that reproduce the issue

Pixel Emulator with API 29-33(I haven't tested the versions below 29)

Devices that do not reproduce the issue

Pixel Emulator with API 34-36.
Pixel 8a API 36

Reproducible in the demo app?

Yes

Reproduction steps

Code to reproduce the issue:
val mediaItem1 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview126/v4/4f/da/0a/4fda0aca-36db-1d70-51cd-b6aaacf19f01/mzaf_9268020244751132113.plus.aac.p.m4a")
val mediaItem2 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview112/v4/1e/54/e2/1e54e21a-fc47-cdc3-5f0c-ade9585dbe1c/mzaf_4819330222587737830.plus.aac.p.m4a")
val mediaItem3 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/f4/a1/c2/f4a1c207-6d73-e3bd-8fcb-bd6c5037021a/mzaf_16212608709217830172.plus.aac.p.m4a")
val mediaItem4 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/52/f1/bb/52f1bb30-6fed-ffec-722c-d94ffef04fe6/mzaf_1999342271217657721.plus.aac.p.m4a")
val mediaItem5 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview126/v4/85/70/ea/8570ea1d-2fd3-a367-a5d2-3590a8cdb0ec/mzaf_8612057083017596738.plus.aac.p.m4a")
val mediaItem6 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview115/v4/c6/ea/1d/c6ea1db3-39a0-7388-1ad4-b069057562b1/mzaf_861639926040474239.plus.aac.p.m4a")
val mediaItem7 = MediaItem.fromUri("https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/aa/a1/94/aaa194f9-9568-a6b8-1ee0-c231eab9412a/mzaf_2739203206537586158.plus.aac.p.m4a")

val mediaItems = listOf(mediaItem1, mediaItem2, mediaItem3, mediaItem4, mediaItem5, mediaItem6, mediaItem7)

mediaPlayer?.setMediaItems(mediaItems)
mediaPlayer?.prepare()
mediaPlayer?.play()

Expected result

Playing all songs in order without any issues

Actual result

When playing a list of AAC .m4a preview files from iTunes using ExoPlayer, I encounter an AudioSink$UnexpectedDiscontinuityException. This always happens somewhere in the middle of the playlist. If I play the same files individually (one-by-one, not in a list), there’s no issue.
The error happens even if the files are fully downloaded and cached locally before playback.
E/AudioSink: Audio sink error
androidx.media3.exoplayer.audio.AudioSink$UnexpectedDiscontinuityException:
Unexpected audio track timestamp discontinuity: expected 1000121278420, got 1000121487400
at androidx.media3.exoplayer.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:1016)
at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:830)
...

Media

https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview126/v4/4f/da/0a/4fda0aca-36db-1d70-51cd-b6aaacf19f01/mzaf_9268020244751132113.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview112/v4/1e/54/e2/1e54e21a-fc47-cdc3-5f0c-ade9585dbe1c/mzaf_4819330222587737830.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/f4/a1/c2/f4a1c207-6d73-e3bd-8fcb-bd6c5037021a/mzaf_16212608709217830172.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/52/f1/bb/52f1bb30-6fed-ffec-722c-d94ffef04fe6/mzaf_1999342271217657721.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview126/v4/85/70/ea/8570ea1d-2fd3-a367-a5d2-3590a8cdb0ec/mzaf_8612057083017596738.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview115/v4/c6/ea/1d/c6ea1db3-39a0-7388-1ad4-b069057562b1/mzaf_861639926040474239.plus.aac.p.m4a
https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/aa/a1/94/aaa194f9-9568-a6b8-1ee0-c231eab9412a/mzaf_2739203206537586158.plus.aac.p.m4a

Bug Report

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions