Shield AirPlay 2.0.0 — Session stability and TV redesign
Shield AirPlay 2.0.0
A TV-first redesign and a fix for paused video sessions being lost when an idle AirPlay control connection closes.
Changes
- Preserve the paused video session across idle transport closure and activity transitions. Explicit stop remains authoritative, with the existing narrow local-pause compatibility grace.
- Reject stale native/player callbacks and playback snapshots. Cancel delayed retries when a player is released.
- Remove a synchronous wait in
/playthat could block the HTTP server needed for HLS loading. - Redesign the receiver, navigation, settings, logs, and playback controls for TV: larger text, restrained light/dark themes, clear remote focus, and safe screen margins.
Verification
- 36 JVM tests and 8 executable native callback tests passed.
- Release lint: 0 errors (80 warnings and 1 hint remain).
- Signed release built for ARM64 and ARMv7; signature and 16 KB ZIP alignment verified.
- Installed as an in-place upgrade on NVIDIA Shield. Device package version and APK SHA-256 match this release.
- On-device synthetic AirPlay regression: the previous release lost the paused session after the original control socket closed. This release retained the session and resumed after a 30-second protocol-command pause and a 60-second TV media-key pause. Explicit stop passed after both tests.
- D-pad settings navigation, live theme switching, and persisted theme selection checked on the Shield.
The device regression uses a local, silent H.264 fixture and protocol commands, not a real iPhone sender. Real iPhone interoperability, LAN discovery, encrypted screen mirroring, audio-only playback, and reboot recovery were not retested for this release. GitHub Actions status is separate from the completed local validation above.
Install and source
- APK:
Shield-AirPlay-2.0.0-shield.apk - Package:
no.gior.shieldairplay - Version:
2.0.0-shield(code 200) - Signed with the same certificate as the previous Shield release; supports in-place upgrade.
- Source commit:
4e14bcbe315d23a75553f01f53aec6fd043c7cba - Source archive includes the pinned native dependency trees and
SOURCE_REVISIONS.json. For the documented Git-based build, clone the repository at this release tag with--recurse-submodulesand followSHIELD_BUILD.md. - GPLv3; upstream attribution and license notices retained. No subscriptions, ads, analytics, or paid feature gates.
Verify downloaded assets against SHA256SUMS.