Skip to content

PTP timing support for AirPlay 2#3848

Draft
bradkeifer wants to merge 1 commit into
music-assistant:devfrom
bradkeifer:airptpd
Draft

PTP timing support for AirPlay 2#3848
bradkeifer wants to merge 1 commit into
music-assistant:devfrom
bradkeifer:airptpd

Conversation

@bradkeifer
Copy link
Copy Markdown
Contributor

Adds support for PTP timing to be used for AirPlay 2 players.
AirPlay 2 implementation of Shairport Sync only supports PTP timing, and does not work with NTP timing.
Samsung devices appear to only support PTP timing for their AirPlay 2 implementation also.
PTP timing with AirPlay 2 is also a prerequisite to future implementation of buffer RTP and hi-res audio support into the AirPlay 2 provider.

@bradkeifer bradkeifer requested a review from MarvinSchenkel May 7, 2026 07:21
@bradkeifer bradkeifer marked this pull request as draft May 7, 2026 07:21
@bradkeifer
Copy link
Copy Markdown
Contributor Author

Over to you @MarvinSchenkel for the python changes.

@dantelope
Copy link
Copy Markdown

Hi @bradkeifer @MarvinSchenkel — happy to help test on Samsung Frame whenever this is closer to a testable state.

Test environment:

  • Samsung Frame TV (post-2018, AirPlay 2 confirmed working from native iOS/macOS clients)
  • HA + Music Assistant on Linux x86_64 (Beelink, HA OS amd64)
  • Frame currently auto-discovered by MA's AirPlay 2 provider and flagged via BROKEN_AIRPLAY_MODELS — silent playback as expected
  • A couple of working AirPlay 2 targets (Mac, Kitchen Display hardware via Google Cast) for sync-group comparison

I can verify: basic playback (does audio come out), volume control, sync grouping, and behavior with BROKEN_AIRPLAY_MODELS bypassed. Can capture mDNS/RTSP packet traces and MA logs if useful.

Two questions:

  1. Is there a branch I can try now, or should I wait for the Python side?
  2. Will airptpd run as a sidecar alongside cliap2, or replace AirPlay 2 entirely in that path?

Thanks for the work on this — Samsung Frame in particular is a common-enough device that even a "known issue resolved" landing would be a big quality-of-life win.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants