Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

CoreMediaErrorDomain -12888: Bandwidth down-stepping when using 2sec segment duration

the problem is when using HLS live stream with AVPlayer on iOS/ tvOS the player chooses first highest bandwidth then slowly steps down to lowest (within 1-3min) and eventually steps up again then repeats to step down. the AVPlayer error log sends events:

errorStatusCode: -12888, errorDomain: Optional("CoreMediaErrorDomain"), errorComment: Optional("The operation couldn't be completed. (CoreMediaErrorDomain error -12888 - Playlist File unchanged for longer than 1.5 * target duration

we use standard segments in CMAF format, 2sec duration

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:147065903
#EXT-X-MAP:URI="video_1_4660000_init.mp4?device_profile=cmaf_cbcs_verimatrix_cei%26seg_size=2%26cmaf=2"
#EXT-X-PROGRAM-DATE-TIME:2025-04-30T12:51:07
#EXTINF:2.000,
video_1_4660000_t17460174670001555.mp4?device_profile=cmaf_cbcs_verimatrix_cei%26seg_size=2%26cmaf=2
#EXTINF:2.000,
video_1_4660000_t17460174690001555.mp4?device_profile=cmaf_cbcs_verimatrix_cei%26seg_size=2%26cmaf=2
#EXTINF:2.000,
video_1_4660000_t17460174710001555.mp4?device_profile=cmaf_cbcs_verimatrix_cei%26seg_size=2%26cmaf=2

when using 6sec segments the player stays stable at highest bandwidth.

is there a way to avoid this error? in AVPlayer or HLS configuration?

Answered by Systems Engineer in 838129022

That error means that your server is not complying with the HLS spec, which says that a server (including any CDN) must provide an updated live playlist every target duration.

Accepted Answer

That error means that your server is not complying with the HLS spec, which says that a server (including any CDN) must provide an updated live playlist every target duration.

thank you, and the bandwidth down-stepping is the consequence of it? is that the AVPlayer's reaction or could it be a separate issue?

CoreMediaErrorDomain -12888: Bandwidth down-stepping when using 2sec segment duration
 
 
Q