/
/
# What does this implement/fix?
Several users report intermittent crackling/static noises ("like
scratching a needle over vinyl") during AirPlay playback on Apple
receivers (HomePods, Apple TV). Investigation traced this to the 24-bit
realtime audio packets: at 24-bit a packet regularly exceeds the network
MTU (up to ~2156 bytes vs ~1452 max at 16-bit), so it fragments on the
wire, and the largest ones also no longer fit the retransmit buffer -
every lost packet then becomes an unrecoverable gap that the receiver
renders as a crackle. 24-bit has been enabled automatically for these
devices since #5044.
This adds a per-device "24-bit audio (hi-res)" toggle so affected users
can switch back to 16-bit without losing AirPlay 2 features:
- Only shown for devices that actually advertise 24-bit support
- Enabled by default, except on HomePods (WiFi-only, where the crackling
is reported) which now default to 16-bit
- A user-set value always wins over the default
**Related issue (if applicable):**
- related issue https://github.com/music-assistant/support/issues/5279
## Types of changes
- [x] Bugfix (non-breaking change which fixes an issue) — `bugfix`
- [ ] New feature (non-breaking change which adds functionality) —
`new-feature`
- [ ] Enhancement to an existing feature — `enhancement`
- [ ] New music/player/metadata/plugin provider — `new-provider`
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected) — `breaking-change`
- [ ] Refactor (no behaviour change) — `refactor`
- [ ] Documentation only — `documentation`
- [ ] Maintenance / chore — `maintenance`
- [ ] CI / workflow change — `ci`
- [ ] Dependencies bump — `dependencies`
## Checklist
- [x] The code change is tested and works locally.
- [x] `pre-commit run --all-files` passes.
- [x] `pytest` passes, and tests have been added/updated under `tests/`
where applicable.
- [ ] For changes to shared models, the companion PR in
`music-assistant/models` is linked.
- [ ] For changes affecting the UI, the companion PR in
`music-assistant/frontend` is linked.
- [x] I have read and complied with the project's [AI
Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md)
for any AI-assisted contributions.
- [ ] I have [raised a PR against the documentation
repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md)
targeting the main or beta branch as appropriate.