AetherEngine 3.11.1
Patch release: fixes a system-wide media-decoding wedge after a long background suspension on tvOS.
Fixed
-
System-wide
mediaserverdwedge after a long background suspension. A paused native session left running into a multi-hour tvOS suspension kept its AVPlayer decode session, the in-process loopback HLS server sockets, and the upstream AVIO connection all allocated. On resume that wedged the sharedmediaserverdsystem-wide: every app (including unrelated ones) could only paint the first frame until the device was rebooted (reproduced on tvOS 26.5 by pausing a video, sleeping the device for hours, and waking it).The
didEnterBackgroundhandler now tears the video pipeline down instead of merely pausing.stopInternalunloads the AVPlayer item (replaceCurrentItem(nil)) and invalidates the softwareVTDecompressionSessionsynchronously, releasing the shared decode session before suspension. The native host shell andcurrentAVPlayerare kept so AVKit's system Now-Playing registration survives the seam, and the clock / loaded URL / load options are preserved so the host's foregroundreloadAtCurrentPosition()resumes at the paused position. AUIApplicationbackground-task assertion spans the teardown so the synchronous decode-session release and the loopback server's detached socket close complete before the process is suspended.Because the foreground path already does a full pipeline rebuild on every full-background return, resume behaviour is unchanged; this only releases the old session earlier instead of freezing it.
Full Changelog: 3.11.0...3.11.1