Skip to content

Honour a user-set RTSP port for AirPlay 2 - #2277

Merged
mikebrady merged 1 commit into
mikebrady:developmentfrom
haavar:poc/ap2-configurable-port
Sep 4, 2026
Merged

mikebrady merged 1 commit into
mikebrady:developmentfrom
haavar:poc/ap2-configurable-port

Conversation

@haavar

@haavar haavar commented Sep 3, 2026

Copy link
Copy Markdown

AirPlay 2 overwrote config.port with 7000, discarding -p / general.port
(which classic AirPlay honours). This defaults the port only when it is unset, so
an explicit port takes effect for AirPlay 2 as well. mdns_register already
advertises config.port, so the SRV record carries the chosen port -- and
AirPlay 2 clients follow it (verified on iOS), which lets several AirPlay 2
instances share one IP on distinct ports (7000, 7001, ...), with no per-instance
address, macvlan, or veth.

Unset behaviour is unchanged: 7000 for AirPlay 2, 5000 for classic. The only
change is that AirPlay 2 now honours a port it previously ignored; since the SRV
advertises whatever it binds, clients follow -- worth a release note rather than a
new setting.

Background and testing in #2266. Independently confirmed there by @jslove, who is
now running eleven AirPlay 2 instances on a single IP (ports 7000-7010) in
production.

AirPlay 2 overwrote config.port with 7000, ignoring -p / general.port (which
classic AirPlay honours). Default the port only when unset instead, so an
explicit port takes effect for AP2 too. mdns_register already advertises
config.port, so the SRV record carries the chosen port -- which lets several
AirPlay 2 instances share one IP on distinct ports (verified on iOS: clients
follow the SRV-advertised port). Unset behaviour is unchanged (7000 for AP2,
5000 for classic).
@mikebrady

Copy link
Copy Markdown
Owner

Many thanks @haavar and @jslove for finding and fixing this!

@mikebrady
mikebrady merged commit fef1be2 into mikebrady:development Sep 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants