Skip to content

Add audio sink renaming to LinkKit - #77

Merged
fgo-ableton merged 1 commit into
Ableton:masterfrom
silver-ben:add/audio-sink-set-name
Sep 23, 2026
Merged

fgo-ableton merged 1 commit into
Ableton:masterfrom
silver-ben:add/audio-sink-set-name

Conversation

@silver-ben

Copy link
Copy Markdown
Contributor

LinkKit accepts a channel name when creating an audio sink, but has no public API to change it. Recreating the sink to rename it changes the channel ID, so receiving apps have to select the stream again.

Add ABLLinkAudioSinkSetName, forwarding to the existing LinkAudioSink::setName. This preserves the channel ID and existing receiver subscriptions. The header documents the name limit and non-thread-safe, non-realtime-safe contract.

Verified with Xcode 26.3 against the Link commit pinned by LinkKit CI, be64e5d1fe0cd01dea016ae31c2cefaddc0ce558:

  • Release SDK builds for iOS, iOS Simulator and Mac Catalyst passed.
  • Existing LinkKit tests passed.
  • A standalone iOS 26.3 simulator probe using the modified LinkKit API and two peers on isolated loopback discovery observed the new name with the original channel ID. The original receiver source continued receiving samples generated only after the rename was observed. A sibling stream retained its name, ID and audio delivery.
  • As a negative control, replacing the rename call with sink deletion and recreation caused the probe to reject the changed channel ID.

No application engine or changes to the Link dependency were needed for the implementation. Verification used a temporary standalone probe; no new test target is included.

@fgo-ableton

Copy link
Copy Markdown
Contributor

Thank you!

@fgo-ableton
fgo-ableton merged commit 91ca4de into Ableton:master Sep 23, 2026
3 checks passed
@silver-ben

Copy link
Copy Markdown
Contributor Author

Thank you!

You're welcome! Thanks for merging.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants