Skip to content

PhairPlay v1.1.0-mh.1

Pre-release
Pre-release

Choose a tag to compare

@mhoogenbosch mhoogenbosch released this 19 Jul 20:33
· 36 commits to main since this release

Fork release based on upstream v1.0.0-beta.1 (mazer666/PhairPlay).

Fixed

  • mDNS name conflict left _airplay._tcp unregistered forever. Newer Android does not auto-rename on a conflict; when the requested name collides with a record on the same device (e.g. the TV's own Google Cast registration), MdnsAdvertiser gets stuck probing and never delivers any callback — the TV never appears in AirPlay pickers. MdnsService now runs a 5s watchdog per registration attempt and retries with a numbered suffix ("Name (2)", max 3 attempts) on both explicit failures and silent stuck probes. Verified on a Nokia Streaming Box 8010.
  • mDNS restart race escalated the advertised name to "(2)/(3)" after every streaming session; restart() now waits for both asynchronous unregistrations (2s timeout) before re-registering.
  • RTSP message limit rejected the iOS mirror-stream SETUP (~77 KB binary plist from iOS 26 vs a 64 KB cap) — raised to 1 MB (also submitted upstream as mazer666/PhairPlay#11).

Changed

  • Receiver-appliance lifecycle: backing out of the app or swiping it from recents no longer stops the foreground service — the TV stays visible in AirPlay pickers. Stop the receiver via the in-app protocol toggles.

Added

  • On-device diagnostics (ported from JObersi10/PhairPlay, trimmed): persistent files/phairplay.log + crash hook (LogBuffer), and LAN log access — full dump on port 8001, live tail on port 8002 (curl http://<tv-ip>:8002). Logging is active in release builds too.

Installation

Side-load the APK that matches your device:

  • PhairPlay-v1.1.0-mh.1-googletv.apk — Google TV / Android TV (Android 10+)
  • PhairPlay-v1.1.0-mh.1-firetv.apk — Amazon Fire TV (Android 7.1+)

Full changelog: CHANGELOG.md