Skip to content

Add client microphone streaming support#2

Open
logabell wants to merge 1 commit into
GuiDev1994:mainfrom
logabell:codex/mic-streaming-port
Open

Add client microphone streaming support#2
logabell wants to merge 1 commit into
GuiDev1994:mainfrom
logabell:codex/mic-streaming-port

Conversation

@logabell

@logabell logabell commented Mar 19, 2026

Copy link
Copy Markdown

Add client microphone streaming support

What This Does

This ports client-to-host microphone passthrough support into moonlight-tv so the client can capture local microphone input, encode it as timed Opus voice packets, and send it to the host when microphone streaming is negotiated.

Specifically, this PR:

  • adds persisted microphone settings and input-device selection in the audio settings pane
  • adds an SDL microphone capture path with Opus encoding and timed packet delivery during active stream sessions
  • wires microphone negotiation and encryption flags into the stream configuration
  • updates core/moonlight-common-c to the microphone-capable revision required for this feature

Intended Usage

This is intended to be used with my Apollo fork and the related Apollo upstream work:

This moonlight-tv PR is meant to complement that Apollo work so microphone passthrough can be used end-to-end with the Apollo fork.

Context

This PR was submitted at the request of community member LightningJC.

Notes

  • The submodule URL changes because upstream moonlight-common-c does not yet contain the microphone APIs used here.

Verification

  • git diff --check
  • attempted cmake -S . -B build on Windows, but configuration stops immediately because pkg-config is not installed in this environment

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.

1 participant