Repository navigation
Strafe Desktop v1.3.1
Voice on Linux now carries audio
Calls on the Linux app connected, showed everyone in the channel, and then carried nothing.
That is fixed, along with the empty device pickers.
Calls work. Six separate faults in the bundled web engine had to be fixed, each hiding the
next. The biggest: WebKitGTK never implemented WebRTC encoded transforms — they are empty stubs
in the current release too — so the end-to-end encryption the call relies on silently did
nothing, and desktop and browser each threw the other's audio away. They are implemented in the
engine this app ships. On top of that a sender now sends with the stream id it announced (the
server was dropping every packet it received), a codec keeps one payload type for the whole
call, a published track is matched to the right media section and sent through that section's
own transceiver, and a source no longer starts before it is connected. The app also carries the
crypto modules SRTP loads at runtime, without which it could not encrypt a single packet.
Microphone, speakers and camera. The engine was hiding speakers behind a preference only
Apple's ports turn on, and the stack had no camera plugin at all, so the pickers in Voice &
Video came up empty. All devices are listed now, a camera plugged in later shows up, and the
microphone goes through the same processing a browser applies: echo cancellation, noise
suppression and automatic gain control.
Calls stay end-to-end encrypted, as on the web.
Nothing changes on Windows or macOS.