James Poje
9c9bfd8428
Add quit-app-and-exit shortcut Ctrl+Alt+Shift+E
...
Add a shortcut to quit the current app and exit Moonlight entirely.
2025-04-02 21:55:38 -05:00
ABeltramo
d9c7a245ef
DualSense adaptive trigger support ( #1561 )
2025-04-01 21:45:25 -05:00
Cameron Gutman
6d023c2dfa
Defer launch warnings until after launch validation
...
We need to destroy the SDL window before we can be sure that Qt
can draw to the screen if we used KMSDRM.
2024-09-23 21:48:43 -05:00
Cameron Gutman
7c6954b5f6
Add HDR support with software decoding using libplacebo
...
Not supported on macOS yet.
2024-08-20 01:28:00 -05:00
Cameron Gutman
6d6cd6fc35
Improve codec autoselection logic
...
- Deprioritize codecs that don't have hardware decoding rather than rejecting them outright
- Allow AV1 to be negotiated with autoselection if no other codec is available
- Take into account YUV444 preference when picking an optimal codec
- Arrange codec preference in ascending order of computational complexity when hardware decoding is unavailable
2024-08-19 23:41:42 -05:00
ns6089
da0244c538
Support YUV 4:4:4 formats
2024-07-24 20:54:13 -05:00
Cameron Gutman
2e29ef8d74
Simplify codec selection and prioritization logic
2024-07-06 00:50:32 -05:00
Cameron Gutman
6d220a9062
Allow audio to recover if no audio devices were present during stream start
2024-05-04 21:13:00 -05:00
Cameron Gutman
a45695a22a
Rework Qt window handling during SDL window creation
...
- Avoids blindly enumeration all top-level windows
- Properly tracks screen changes during the connection process
- Starts stream window minimized if the Qt window was minimized
Fixes #1231
2024-03-24 21:38:54 -05:00
Cameron Gutman
df283d80c6
Implement controller LED and battery protocol extensions
2023-07-02 16:44:41 -05:00
Cameron Gutman
9af58af5e4
Implement gyro/accel and touchpad input using Sunshine extension
2023-06-18 16:08:32 -05:00
Cameron Gutman
b945c8c2dc
Implement trigger rumble using Sunshine protocol extension
2023-06-18 16:04:49 -05:00
Cameron Gutman
e0fb7dfd14
Rework window creation, sizing, and fullscreen transition logic
...
- Fixes window position/size being lost when toggling full-screen
- Fixes initial window size not respecting stream aspect ratio
2022-10-14 20:24:12 -05:00
Cameron Gutman
fbbbd5e0b8
Use new LiRequestIdrFrame() API
2022-10-05 00:53:31 -05:00
Cameron Gutman
f10b547a49
Partially revert "Rework window management to fix issues restoring window state between windowed and full-screen"
...
This exposes all sorts of issues with full-screen transitions on Windows and macOS:
- Loss of proper window decorations when transitioning from full-screen to windowed on Windows
- Improper sizing when transitioning from true full-screen to windowed on macOS
This reverts commit 38396b26919d56dab02e3e06e7791ef9b748bacf.
2022-04-24 16:40:19 -05:00
Cameron Gutman
38396b2691
Rework window management to fix issues restoring window state between windowed and full-screen
2022-04-24 16:22:17 -05:00
Cameron Gutman
a6395b9025
Fix short UI hang when manually stopping the stream after losing connection with the host
2022-03-06 13:11:36 -06:00
Cameron Gutman
4ae39f2bd5
Properly synchronize rumble with gamepad removal
2022-03-05 13:32:38 -06:00
Cameron Gutman
1cbdd0e675
Display the HDR option if the platform has a decoder that supports it
2022-01-29 00:59:04 -06:00
Cameron Gutman
254526a213
Plumb HDR mode information to the decoders
2022-01-28 22:10:50 -06:00
Cameron Gutman
8a27fa7bb5
Convert NeedsIdr member into an atomic variable with a getter
2022-01-17 14:30:12 -06:00
Cameron Gutman
783a57ef89
Use separate thread for streaming on X11 and Wayland
2021-03-07 12:15:42 -06:00
Cameron Gutman
6dab251055
Don't overwrite window mode settings when switching between WM and non-WM environments
2021-02-07 10:49:29 -06:00
Cameron Gutman
7172cfd889
Properly handle multiple window event flush barriers in flight at once
...
Fixes streaming on macOS Mojave without Metal support
2021-01-14 19:28:21 -06:00
Cameron Gutman
2d62d090df
Use a barrier to ensure we don't flush important window events
2021-01-09 17:51:25 -06:00
Cameron Gutman
a11f623b17
Add option to mute audio on minimize and background gamepad input
...
Fixes #461
2020-12-25 15:32:11 -06:00
Cameron Gutman
c414e1a168
Display the failing ports when the connection fails
2020-12-23 13:56:15 -06:00
Cameron Gutman
d3949806f5
Move connection establishment to a separate thread to keep the UI responsive
2020-08-10 22:21:54 -07:00
Cameron Gutman
ec17623400
Test for blocked ports when a stream fails
2020-08-08 17:59:26 -07:00
Cameron Gutman
78fc594d84
Move input code into a subfolder
2020-04-30 20:09:36 -07:00
Cameron Gutman
2394dfe88a
Change errorCode to an int type
2020-02-24 23:03:34 -08:00
Cameron Gutman
979de190dc
Cap resolution options at 1080p on Steam Link and Raspberry Pi due to hardware limitations
2020-02-23 00:43:43 -08:00
Cameron Gutman
57a1c5eb76
Disable the window mode options for always full-screen renderers
2020-02-09 11:35:05 -08:00
Cameron Gutman
88930a9de4
Optimize decoder capability checking
2019-12-14 15:20:44 -08:00
Cameron Gutman
7acf91883a
Rework audio renderer selection to fall back and treat ML_AUDIO as a hard selection
2019-07-26 12:50:45 -04:00
Cameron Gutman
01254f67f0
Allow audio renderers to specify capabilities
2019-06-23 12:49:37 -07:00
Cameron Gutman
674220087f
Finish mouse emulation support with overlay and bugfixes
2019-05-19 13:10:42 -07:00
Cameron Gutman
21f2b1224a
Decode directly into the audio renderer's buffer to avoid a copy
2019-05-01 21:27:41 -07:00
Cameron Gutman
fa4c0e82bd
Only initialize the video subsystem once per launch
2019-03-23 17:46:42 -07:00
Cameron Gutman
c0bf8b9c25
Remove redundant initializtion of SDL video
2019-03-23 14:26:08 -07:00
Cameron Gutman
c75b9c9221
Add connection status overlay for DXVA2 and SDL
2019-03-17 15:08:21 -07:00
Cameron Gutman
f8e693a060
Drop samples to account for lost time reinitializing audio. Fixes #176
2019-02-14 22:32:54 -08:00
Cameron Gutman
feb5e3bc78
Fix SDL_WasInit asserts firing due to lifetime management issues with SdlInputHandler
2019-02-12 19:30:02 -08:00
Cameron Gutman
6ed512e762
Provide a renderer callback when the overlay data changes
2019-02-12 18:43:38 -08:00
Cameron Gutman
947970e07b
Shortcut decoder initialization when only using it for capability testing
2019-02-12 18:42:53 -08:00
MINICOM\mrb11
7b0596d9df
Add controller rumble support.
2019-02-11 21:39:55 -08:00
Cameron Gutman
b19c4bfc5d
Add performance overlay for DXVA2 renderer
2019-01-19 23:05:56 -08:00
Cameron Gutman
cfabaf334e
Add frame pacing toggle
2018-12-25 12:57:00 -08:00
Cameron Gutman
8a5e3cdb76
Fix returning to app page when start fails
2018-12-05 22:17:26 -08:00
Cameron Gutman
c40174034c
Don't kill the app on the host when the session terminates unexpectedly
2018-12-05 20:17:00 -08:00