Commit Graph

2333 Commits

Author SHA1 Message Date
Geoffrey McRae
c2aa8de32b [client] windows: bind inherited output streams 2026-11-06 14:40:25 +11:00
Geoffrey McRae
a8365716af [client] windows: prevent duplicate application manifest 2026-11-06 14:40:25 +11:00
Geoffrey McRae
8c4793ed8c [client] wasapi: define Core Audio interface GUIDs 2026-11-06 14:40:25 +11:00
Geoffrey McRae
d13c40e09d [client] windows: enable CRT math constants 2026-11-06 14:40:25 +11:00
Geoffrey McRae
2021874ca9 [common/client] windows: avoid deprecated CRT calls 2026-11-06 14:40:25 +11:00
Geoffrey McRae
08b68ff740 [client] egl: avoid deprecated preset string copy 2026-11-06 14:40:25 +11:00
Geoffrey McRae
f9fa437c20 [client] egl: use compiler stack allocation builtin 2026-11-06 14:40:25 +11:00
Geoffrey McRae
1ff31304cd [client] windows: compile DirectWrite font support as C++ 2026-11-06 14:40:25 +11:00
Geoffrey McRae
78b6a31e7d [client/common] windows: fix native clang-cl build 2026-11-06 14:40:25 +11:00
Geoffrey McRae
ad0207afc5 [client] windows: use vcpkg OpenSSL for MsQuic 2026-11-06 14:40:25 +11:00
Geoffrey McRae
1995edc1e6 [client] windows: pin vcpkg baseline 2026-11-06 14:40:25 +11:00
Geoffrey McRae
57f18d7e80 [client] windows: add native clang-cl build
Build the Windows client against the MSVC ABI while retaining clang
language support. Use vcpkg for ANGLE and libsamplerate, and build
MsQuic with its bundled static OpenSSL.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
c456596bd7 [client] network: report detailed transport failures
Report the exact MsQuic status and initialization stage when network
transport construction or connection fails.

Diagnose certificate, stream, protocol, and peer shutdown failures
instead of returning only the generic transport error.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
aa064e3fa6 [client] tests: support native Windows builds
Use platform-appropriate temporary-file handling and function signatures
when compiling the standalone tests with MSVC-compatible Clang.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
f44570f039 [client] network: restore clipboard after reconnect 2026-11-06 14:37:38 +11:00
Geoffrey McRae
450d20c8d8 [client/idd] network: tolerate transient wireless stalls 2026-11-06 14:37:38 +11:00
Geoffrey McRae
ead2b8adf0 [client] network: crop aligned video planes 2026-11-06 14:37:38 +11:00
Geoffrey McRae
d345b5c31e [client] network: use bulk delivery for video 2026-11-06 14:37:38 +11:00
Geoffrey McRae
bdf5fed38d [client/idd] network: implement tiled video transport 2026-11-06 14:37:38 +11:00
Geoffrey McRae
2f981a9a60 [client] network: fix wavelet reconstruction
Decode each subblock from its proper bitplane offset.

Keep reconstructed wavelet levels in separate textures.

This lets inverse transforms safely write the next level.
2026-11-06 14:37:38 +11:00
Geoffrey McRae
0992f695ad [client/idd] network: publish guest information 2026-11-06 14:37:38 +11:00
Geoffrey McRae
437e19c13b [client] network: defer clipboard offers until claimed 2026-11-06 14:37:38 +11:00
Geoffrey McRae
5f2e1e116c [client/idd] network: report connection shutdown errors 2026-11-06 14:37:38 +11:00
Geoffrey McRae
fb0ab64053 [client] windows: correct compatibility GUID 2026-11-06 14:37:38 +11:00
Geoffrey McRae
80031f80e3 [client] network: enable transport by default 2026-11-06 14:37:38 +11:00
Geoffrey McRae
02accb6c3e [client] network: build MsQuic automatically on Linux 2026-11-06 14:37:38 +11:00
Geoffrey McRae
53c25dd5a9 [client/idd] network: add GPU video transport 2026-11-06 14:37:38 +11:00
Geoffrey McRae
d24d11c3b7 [client/idd] network: add clipboard and bulk transfer 2026-11-06 14:37:38 +11:00
Geoffrey McRae
a43227cba6 [client/idd] network: add bidirectional audio 2026-11-06 14:37:38 +11:00
Geoffrey McRae
ffa7f10085 [client/idd] network: bound pending QUIC sends 2026-11-06 14:37:38 +11:00
Geoffrey McRae
a67034b14f [client/idd] network: add recovery, cursor, and control 2026-11-06 14:37:38 +11:00
Geoffrey McRae
6dfba7519c [client/idd] network: add password authentication 2026-11-06 14:37:38 +11:00
Geoffrey McRae
5138f470b7 [client/idd] network: add negotiated input service 2026-11-06 14:37:38 +11:00
Geoffrey McRae
d477d169d4 [client] network: add datagram send path 2026-11-06 14:37:38 +11:00
Geoffrey McRae
6eb7c1698c [common] network: use LGProtocol codecs 2026-11-06 14:37:38 +11:00
Geoffrey McRae
04ac46c049 [client] network: add QUIC transport foundation 2026-11-06 14:37:38 +11:00
Geoffrey McRae
ed3b269919 [client] egl: import shared GPU textures 2026-11-06 14:37:38 +11:00
Geoffrey McRae
a3f822685c [build] msquic: add static network dependency 2026-11-06 14:37:37 +11:00
Geoffrey McRae
ca0738ec0d [client] windows: add WASAPI audio support 2026-11-06 14:34:25 +11:00
Geoffrey McRae
eabc56a6de [common/client] platform: abstract runtime services 2026-11-06 14:34:25 +11:00
Geoffrey McRae
a7d2e4592f [client] windows: add native display and input 2026-11-06 14:34:25 +11:00
Geoffrey McRae
18541865f0 [client] egl: add portable texture upload fallback 2026-11-06 14:34:25 +11:00
Geoffrey McRae
7ea69f3d1c [client] input: add platform-neutral keycodes 2026-11-06 14:34:25 +11:00
Geoffrey McRae
382f35e503 [common/client] ivshmem: add portable external frames 2026-11-06 14:34:25 +11:00
Geoffrey McRae
6d367d4ab2 [common/client] platform: make filesystem access portable 2026-11-06 14:34:25 +11:00
Geoffrey McRae
a60da36420 [common] windows: add native path and UTF support 2026-11-06 14:34:25 +11:00
Geoffrey McRae
62a8786fe2 [common/client] platform: add portable worker primitives 2026-11-06 14:34:25 +11:00
Geoffrey McRae
9c8343df96 [common/client] platform: make timing waits portable 2026-11-06 14:34:25 +11:00
Geoffrey McRae
d045ac6ba7 [client] build: add Windows platform composition 2026-11-06 14:34:25 +11:00
Geoffrey McRae
36e170d93a [client/idd] audio: support multiple playback clients
Replace the single-owner PCM queues with one shared LGMP SPMC stream.
Give each admitted client reliable state and an independent playback
cursor, while clients without clock authority resample locally.

Extend the audio protocol with per-client epochs and barriers.
Keep capture exclusive and bound authority backpressure so slow
secondary readers cannot affect the disciplined low-latency path.
2026-11-06 14:34:25 +11:00