feat: implement bidirectional microphone pass-through streaming #1648
+791
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements complete bidirectional microphone pass-through streaming for Moonlight-qt, enabling real-time voice communication between client and host.
Key Features:
Technical Implementation
Audio Pipeline
server_ip:48000
(port 13 + base)Integration Points
Code Architecture
New Components
MicrophoneCapture
: Main capture and streaming coordinatorSdlMicrophoneCapture
: SDL-based audio input implementationStreamingPreferences
: AddedenableMicrophone
boolean settingSession
: Integrated microphone lifecycle managementSettingsView.qml
: Added microphone UI controlsKey Files
app/streaming/audio/capture/
- Complete microphone capture systemapp/streaming/session.cpp
- Session integration and lifecycleapp/gui/SettingsView.qml
- UI controls and settingsapp/settings/streamingpreferences.cpp
- Persistent settingsUsage
Compatibility
Works with Sunshine server microphone receiver implementation for complete bidirectional audio:
Testing
Use Cases
Perfect for:
This implementation pairs with the Sunshine server microphone receiver for complete bidirectional audio streaming between Moonlight clients and host PCs.