Skip to content

Conversation

@bradkeifer
Copy link
Collaborator

Initial work to support PIN-based pairing to devices such as Apple TV's.
This is not yet functional.
The next step is to work out where in the code (that we will maintain) we can detect that a PIN is required and then prevent, or skip, playback until the PIN-pairing is completed.
The PIN is to be sent to the command named pipe with the command "PIN=XXXX", where XXXX is the 4 digit pin.

@bradkeifer bradkeifer self-assigned this Nov 1, 2025
@bradkeifer bradkeifer added the enhancement New feature or request label Nov 1, 2025
@bradkeifer bradkeifer linked an issue Nov 1, 2025 that may be closed by this pull request
@bradkeifer
Copy link
Collaborator Author

PIN-based pairing and subsequent authorisation key based pairing now fully functional.
After PIN-based pairing is successful, the authorisation key details are published to stderr in the below format

db: db_speaker_save:Device <device_name> has authorization key '<auth_key>'

where:

  • <device_name> is the name of the AirPlay2 device; and
  • <auth_key> is the authorisation key that needs to be used for future connections in order to prevent the need to supply a new PIN

Support for passing the authorisation key as a command line argument has been added as --auth

@bradkeifer bradkeifer merged commit 4f9b3cd into main Nov 1, 2025
4 checks passed
@bradkeifer bradkeifer deleted the 16-support-pin-based-pairing branch November 1, 2025 22:26
@bradkeifer bradkeifer changed the title Partial implementation of PIN-based pairing Implementation of PIN-based pairing Nov 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support PIN-based pairing

2 participants