Commit Graph

543 Commits

Author SHA1 Message Date
Cameron Gutman 21dbde9467 Fix touch input on UAC secure desktop and login screen 2023-08-03 23:04:13 -05:00
Cameron Gutman d7c76cfd2b Update gamepad touch support with latest protocol changes 2023-08-03 19:16:09 -05:00
Cameron Gutman bd68aebe4c Implement pen and touch support for Windows 2023-08-03 19:16:09 -05:00
Django 43463a9d1e Add default_value parameter to get_env for use in make_launch_session (#1490) 2023-08-01 23:08:45 -04:00
Cameron Gutman f3a257b150 Fix QoS code build with new MinGW headers 2023-07-30 16:35:24 -04:00
Cameron Gutman d07f5dbd1b Fix audio code build with new MinGW headers 2023-07-30 16:35:24 -04:00
Elia Zammuto 3b2a098640 Expose Connection environment variables to the app start (#1430)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-07-29 14:21:58 -04:00
ns6089 f245f777f7 Modify and restore NVIDIA control panel settings
Namely:
- Power profile for sunshine.exe
- Global OpenGL/Vulkan DXGI swapchain
2023-07-19 01:14:08 -05:00
Cameron Gutman 50f353d183 Fix handling of gamepad feedback with multiple clients connected
We need to use the client-relative index rather than the global index
when sending feedback to the client.
2023-07-10 21:45:37 -05:00
Cameron Gutman 65b2e19b07 Rework active gamepad mask handling to be multi-channel-safe
We may get activeGamepadMask changes out of order between different
controller channels, so only check the bit of the mask corresponding to the
controller number specified in the event itself.

This also fixes the "ControllerNumber not allocated" warning each time a
gamepad is removed.
2023-07-10 21:45:37 -05:00
Cameron Gutman 3acc7ef557 Remove unused variable 2023-07-10 21:45:37 -05:00
Cameron Gutman 2ed2dd5e0e Implement touch, motion, and battery for DS4 2023-07-10 21:45:37 -05:00
Cameron Gutman 309fcc4142 Convert rumble_queue into a generic feedback_queue for gamepad messages 2023-07-10 21:45:37 -05:00
Cameron Gutman fd77230964 Stub controller battery, touch, and motion packets 2023-07-10 21:45:37 -05:00
Cameron Gutman 1ef8cb1111 Send feature flags in RTSP DESCRIBE response 2023-07-10 21:45:37 -05:00
ns6089 6dfe56518c Decrease gpu scheduling priority for NVIDIA
Fixes #1031
2023-07-09 18:50:10 -05:00
Cameron Gutman c5bf78176e Remove GetAsyncKeyState() check before sending mouse button events
It's unnecessary and breaks in cases where event processing is slow

Fixes #1433
2023-07-08 22:58:12 -05:00
jcj83429 d075424225 Add support for Applications (context menu) key in the Windows platform
I will add corresponding support in moonlight-qt.
2023-07-08 21:21:18 -05:00
Casey Korver 881af5b566 Correct typos in logging 2023-07-08 19:56:56 -05:00
Casey Korver b1ffa8a6c5 Correct typos in comments 2023-07-08 18:56:27 -05:00
Cameron Gutman 70dc582f38 Refactor gamepad emulation code to use the DS4 extended report format
This has the side-effect of fixing #1407 due to the incorrect assumption that
it's safe to cast our gamepad_state_t to a XUSB_REPORT.
2023-07-08 11:34:16 -05:00
aetheryx c972fa880f fix: consider link-local addresses as LAN 2023-07-06 22:53:38 -05:00
Cameron Gutman 810945f5bf Allow use of multiple ENet channels 2023-07-04 15:48:31 -05:00
Cameron Gutman 11aedf56a2 Implement controller arrival metadata support 2023-06-30 20:47:29 -05:00
Cameron Gutman 12e6774035 Fix max gamepad count to match protocol limitation 2023-06-27 21:11:19 -05:00
Cameron Gutman feedede6f9 Implement extended controller button support 2023-06-27 21:11:19 -05:00
Cameron Gutman 737be029ec Move input packet debug prints off the control stream thread
The control stream thread is extremely performance-sensitive.
2023-06-27 18:53:01 -05:00
Cameron Gutman 62606a62f9 Implement input batching for reduced latency 2023-06-27 18:53:01 -05:00
Era Dorta ed74492e4e fix(deps): replace libboost chrono and thread with standard chrono and thread (#1364)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-06-26 11:50:10 -04:00
Conn O'Griofa 72d63aae68 windows: fix header conflict for msys2-w32api-headers 11.0.1+ (#1332) 2023-05-29 20:00:52 -04:00
Cameron Gutman 8090fb496b Fix software encoding defaulting to HEVC instead of H.264
Regression introduced by d973e5bbc7
2023-05-28 19:29:07 -05:00
Cameron Gutman f734d6684f Reset the default audio device on startup if Steam Streaming Speakers are selected
Fixes lack of audio device restoration if Sunshine crashes while streaming
2023-05-27 14:24:38 -05:00
Cameron Gutman bca61bfc0d Always change the sink if it differs from the active sink
Fixes audio sink field not changing devices properly
2023-05-27 14:24:38 -05:00
Cameron Gutman 9a65c91671 Rename SunshineSvc to SunshineService
This avoids a MalwareBytes false positive.

Fixes #1126
2023-05-26 17:54:38 -05:00
Cameron Gutman 8da919f411 Rename Back Button Timeout and disable it by default
Users don't expect long presses of the back button to not work out of the box.
2023-05-25 20:03:53 -05:00
Cameron Gutman b3f57cf90d Fix emulated Home/Guide presses being missed
Fixes #1048
2023-05-25 20:03:53 -05:00
Cameron Gutman 2f4cc9ace0 Add option to always send scancodes
Default is enabled to match v0.19.1 behavior

Fixes #1233
2023-05-25 19:31:39 -05:00
Cameron Gutman 0f1dc1bb05 Print a warning if GameStream is using conflicting ports 2023-05-25 19:07:13 -05:00
Cameron Gutman fbb77aa7cd Prefer virtual sink over audio sink if host playback is disabled
Fixes "Play audio on host PC" option not working when audio sink is manually set
2023-05-24 20:34:13 -05:00
Cameron Gutman 5a4fd95765 Rewrite UPnP support
- Fixes port mappings expiring after a day
- Fixes support for IGDv1 gateways
- Fixes handling of gateway reboots/resets
2023-05-22 22:53:36 -05:00
Cameron Gutman 25e0244705 Stop reporting ExternalIP field to clients
At best, it doesn't help compared to Moonlight's STUN logic.

At worst, it makes things worse by providing an incorrect WAN address that overrides STUN.
2023-05-22 22:53:36 -05:00
Cameron Gutman 85af19150c Fix leak of AVPackets 2023-05-22 19:44:04 -05:00
Cameron Gutman 5b24148cfa Fix leak of VA driver resources on each encoder init 2023-05-22 19:44:04 -05:00
Cameron Gutman 8a9eed2f6f Fix leak of X509 on each HTTPS request 2023-05-22 19:44:04 -05:00
Cameron Gutman 32ca9d41de Fix crash on exit if a process is currently running 2023-05-15 19:11:51 -06:00
Cameron Gutman 33dafbc801 Add warning when Desktop Duplication API masks protected content from capture 2023-05-14 14:28:03 -05:00
Cameron Gutman 17124deb22 Fix const-correctness bugs in round_robin.h 2023-05-11 20:52:44 -05:00
Cameron Gutman fabadaad2a Fix const-correctness bugs in uniq_ptr and code that uses it 2023-05-11 20:52:44 -05:00
Cameron Gutman 0fa406dbb7 Remove unnecessary moves in return statements 2023-05-11 20:52:44 -05:00
Cameron Gutman ff046bb707 Fix and enable -Wmissing-braces 2023-05-11 20:52:44 -05:00