What happened?
On live MPEG-TS streams (H.264 1080p50, AAC), playback through AetherEngine freezes briefly every so often; the host OSD pops up because the player drops out of the playing state for a moment. The same stream plays without any issue in KSPlayer (a 34 min session in the same log: 0 dropped frames at 49.99 fps) and in QuickTime. VLC on Mac shows similar freezes.
In the log, the live HLS producer cuts segments against a 0.5 s cut target, but the actual segments come out at 1.0 to 2.4 s (GOP-bound). TARGETDURATION is then sealed at 1 to 3 s. AVPlayer repeatedly reports CoreMediaErrorDomain -12888 ("Playlist File unchanged for longer than 1.5 * target duration") on the local media.m3u8, and #524 fires 287 times with only about 1.5 to 2 s of fetched runway. At the same moments AVSampleBufferVideoRenderer toggles readyForDisplay NO → YES, which matches the visible freezes.
Steps to reproduce
Play a live H.264 1080p50 MPEG-TS stream (sample capture available, see below) through AetherEngine on tvOS.
Watch for a few minutes.
The picture freezes briefly at irregular intervals; -12888 and #524 show up in the log at the same moments.
AetherEngine version or commit SHA
7.17.1
Host app
Custom / my own integration
Platform
tvOS
OS version
27
Device / chip
Apple Tv
Playback path
Native AVPlayer
Source media (for playback bugs)
Live MPEG-TS over HTTP, H.264 High@4.2 1920x1080, 50 fps, SDR, fieldOrder=1, AAC ADTS (stream-copied). A 53 MB TS capture of the stream is available on request.
Error codes / log lines
[HLSSegmentProducer] init OK (baseIndex=0, segments=0, targetDur=0.500s, srcVideoTb=1/90000) audio=stream-copy inTb=1/90000
[HLSVideoEngine] live TARGETDURATION sealed at 1s (holdback 3.000s): max EXTINF 1.000s, 1.5 x cut target 0.750s, no measured floor (segments are cut here, not ingested)
[HLSSegmentProducer] live seg-67 finalized: start=68.040s dur=1.120s
[NativeAVPlayerHost] #9 errorLog code=-12888 domain=CoreMediaErrorDomain uri=http://127.0.0.1:52900/.../media.m3u8 'Playlist File unchanged for longer than 1.5 * target duration'
[AetherEngine] #524 the client is running thin: it holds 1.48s of fetched runway, playhead 5421.82s against a seekable edge of 5436.58s (which already carries the holdback)
-12888 appeared 188 times over three sessions; #524 appeared 287 times.
Anything else
The TARGETDURATION sealed at 1 s is exceeded by later segments (for example 1.120 s), and with a 0.75 s staleness basis the playlist can easily look "unchanged" to AVPlayer whenever a GOP runs long.
What happened?
On live MPEG-TS streams (H.264 1080p50, AAC), playback through AetherEngine freezes briefly every so often; the host OSD pops up because the player drops out of the playing state for a moment. The same stream plays without any issue in KSPlayer (a 34 min session in the same log: 0 dropped frames at 49.99 fps) and in QuickTime. VLC on Mac shows similar freezes.
In the log, the live HLS producer cuts segments against a 0.5 s cut target, but the actual segments come out at 1.0 to 2.4 s (GOP-bound). TARGETDURATION is then sealed at 1 to 3 s. AVPlayer repeatedly reports CoreMediaErrorDomain -12888 ("Playlist File unchanged for longer than 1.5 * target duration") on the local media.m3u8, and #524 fires 287 times with only about 1.5 to 2 s of fetched runway. At the same moments AVSampleBufferVideoRenderer toggles readyForDisplay NO → YES, which matches the visible freezes.
Steps to reproduce
Play a live H.264 1080p50 MPEG-TS stream (sample capture available, see below) through AetherEngine on tvOS.
Watch for a few minutes.
The picture freezes briefly at irregular intervals; -12888 and #524 show up in the log at the same moments.
AetherEngine version or commit SHA
7.17.1
Host app
Custom / my own integration
Platform
tvOS
OS version
27
Device / chip
Apple Tv
Playback path
Native AVPlayer
Source media (for playback bugs)
Live MPEG-TS over HTTP, H.264 High@4.2 1920x1080, 50 fps, SDR, fieldOrder=1, AAC ADTS (stream-copied). A 53 MB TS capture of the stream is available on request.
Error codes / log lines
Anything else
The TARGETDURATION sealed at 1 s is exceeded by later segments (for example 1.120 s), and with a 0.75 s staleness basis the playlist can easily look "unchanged" to AVPlayer whenever a GOP runs long.