Cameron Gutman
e62d6915db
Fix -Wreturn-local-addr warning in event_t::view()
2024-02-03 15:05:43 -06:00
Cameron Gutman
2008bc0eaa
Use CS6 instead of CS7 for audio traffic
...
CS7 is reserved for network control traffic.
2024-02-02 18:30:48 -06:00
Cameron Gutman
bb3b7984f3
Add refcounting to Mac and Linux QoS state to ensure it works properly with multiple clients
...
This means we can't control DSCP tagging per-client, but it shouldn't pose a big problem as routers that blackhole DSCP tagged traffic are pretty rare.
2024-02-02 18:30:48 -06:00
Cameron Gutman
5c9533f6d7
Allow DSCP tagging and local traffic prioritization to be enabled separately on Mac and Linux
2024-02-02 18:30:48 -06:00
Cameron Gutman
c7700f96fc
Enable opportunistic QoS tagging for control messages
2024-02-02 18:30:48 -06:00
Cameron Gutman
fe8b0bad92
Implement workaround for qWAVE issues handling IPv4-mapped IPv6 addresses
2024-02-02 18:30:48 -06:00
Cameron Gutman
f70c3f1c0e
Fix crash on monitor index not found in KMS
2024-01-28 14:00:46 -06:00
Cameron Gutman
cf416f55e1
Fix KMS cursor capture on Nvidia GPUs
2024-01-28 14:00:46 -06:00
Cameron Gutman
8182f592e8
Implement NVENC support for KMS and wlgrab capture methods
2024-01-28 14:00:46 -06:00
Cameron Gutman
9a3553db04
Refactor to use pixel format helpers in VAAPI
2024-01-27 21:32:29 -06:00
Cameron Gutman
3b11bc86b0
Rewrite software scaling to use new multi-threaded swscale API
2024-01-27 21:32:29 -06:00
Cameron Gutman
a15bd65391
Adjust default CPU thread count to 2
...
It's a tiny reduction of encoding quality for a major increase in performance
2024-01-27 21:32:29 -06:00
Cameron Gutman
9dfe97d405
Send the frame number in the encrypted video header
2024-01-25 23:43:30 -06:00
Cameron Gutman
65851407b1
Avoid unnecessary reallocation of the IV for every packet
2024-01-25 23:43:30 -06:00
Kelvie Wong
3f31400e7f
Revert "Remove useless texture size queries for every frame in display_ram_t"
...
This reverts commit ebe01ce20b .
Looks like this commit undos the fix for #453 , see also PRs #649 and #884 .
This also adds a comment so hopefully it doesn't get removed again in
the future (or a proper fix is found).
2024-01-25 21:09:43 -06:00
ns6089
fe886632dc
Add new nvenc options to legacy ffmpeg path
2024-01-20 18:28:09 -06:00
ns6089
ede59e17d8
Expose more nvenc options
...
1. Spatial AQ, for some reason NVENC have problems recovering details on
flat regions of static images over multiple frames, official docs
recommend to enable it for "game-streaming"
2. Percentage increase of default single-frame VBV/HRD, can act as
low latency variable bitrate substitute
2024-01-20 18:28:09 -06:00
ns6089
66150872b0
Add nvprefs user override options
2024-01-20 18:28:09 -06:00
ns6089
270716b862
Use safe string composition in tray tooltip
2024-01-20 18:28:09 -06:00
Lukas Senionis
bf1b9a20ec
Add a dedicated library for working with JSON ( #2047 )
2024-01-20 17:05:35 -05:00
Cameron Gutman
a10ec3a98a
Drop unencrypted messages on the encrypted control stream
2024-01-19 18:57:58 -06:00
Cameron Gutman
c88fa655f5
Implement video encryption
2024-01-19 18:57:58 -06:00
Cameron Gutman
23fb07d4a2
Implement control stream v2 encryption
2024-01-19 18:57:58 -06:00
Cameron Gutman
2f80145b8e
Change crypto::aes_t to variable size and cleanup some crypto code
2024-01-19 18:57:58 -06:00
Cameron Gutman
6b5a712506
Normalize IPv4-mapped IPv4 addresses before checking PC/LAN/WAN type
2024-01-19 18:57:58 -06:00
Cameron Gutman
3d6e7f447a
Refactor audio encryption to use new encryption flags
2024-01-19 18:57:58 -06:00
Cameron Gutman
77b0bab374
Pass launch_session_t directly into session::alloc()
2024-01-19 18:57:58 -06:00
Rafael
2e995355dc
fix(linux)!: use XDG spec for fetching Linux configuration directory ( #2034 )
2024-01-18 21:24:55 -05:00
Cameron Gutman
21e4450ee1
Fix stream disconnecting when reconfiguring display in X11
2024-01-18 19:14:45 -06:00
Cameron Gutman
404b434754
Fix starvation of encoder thread when not receiving new captured frames
...
This often happens when switching to the UAC secure desktop.
2024-01-18 19:14:45 -06:00
Cameron Gutman
f64712f277
Always reset the thread desktop before calling DuplicateOutput()
...
Otherwise capture will fail if the thread desktop is different than the current input desktop (ex: UAC secure desktop is active)
2024-01-18 19:14:45 -06:00
Cameron Gutman
8a86678d62
Reenumerate displays when the display is reinitialized or switched
2024-01-18 19:14:45 -06:00
Cameron Gutman
b94f8c0b50
Improve Name->DRM_MODE_CONNECTOR mapping with new types and names
2024-01-16 19:49:34 -06:00
Cameron Gutman
df2d728af7
Fix plane_it_t skipping the last entry when iterating
2024-01-16 19:49:34 -06:00
Cameron Gutman
d0049da2df
Implement pen and touch support for Linux
2024-01-14 11:45:12 -06:00
Cameron Gutman
c1a3903d20
Fix absolute mouse motion being interpreted as touchscreen input
2024-01-14 11:45:12 -06:00
ReenigneArcher
937d0d810c
fix: add additional pin validation ( #2007 )
2024-01-13 22:03:49 -05:00
Cameron Gutman
545af98459
Add a fallback to retry codec init with more lenient config options
...
This allows use of low_power=1 for VAAPI to allow more performant
encoding on capable Intel hardware (like we do for QSV).
This also provides a low_power=0 fallback for QSV to allow use
on old/low-end Intel GPUs that don't support low power encoding.
Finally, this also implements a fallback to deal with the AMD
driver regression on pre-RDNA cards that causes H.264 encoding
to fail with AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY.
2024-01-12 19:50:34 -06:00
Cameron Gutman
056281b745
Implement HDR support for Linux KMS capture backend ( #1994 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-11 22:41:58 -06:00
Cameron Gutman
593e170da8
Implement graceful termination and group-based app tracking
2024-01-08 23:55:43 -06:00
ReenigneArcher
60c95d6385
fix(web-api): allow trailing slash on endpoints ( #1985 )
2024-01-06 10:56:35 -05:00
Cameron Gutman
f88df0f596
Implement support for KMS cursor plane capture ( #1981 )
2024-01-05 23:02:39 -06:00
ReenigneArcher
791ed48a3f
fix(macos): replace depreciated AbsoluteToNanoseconds ( #1986 )
...
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2024-01-05 23:28:50 -05:00
Cameron Gutman
7d751f050e
Fix EGL import for modifiers that require aux planes
2024-01-05 21:25:06 -06:00
Cameron Gutman
c7e5df5976
Refactor EGLAttrib logic into a shared function
2024-01-05 21:25:06 -06:00
James Le Cuirot
bc6cc2078e
build(linux) make vaapi optional without dlopen ( #1979 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-05 10:59:41 -05:00
Cameron Gutman
0dff8b16fd
Use the new VAAPI dummy image support for kmsgrab too
2024-01-04 22:26:39 -06:00
Cameron Gutman
ebe01ce20b
Remove useless texture size queries for every frame in display_ram_t
2024-01-04 22:26:39 -06:00
Cameron Gutman
3adf9e5967
Don't busy loop during wlgrab capture
2024-01-04 22:26:39 -06:00
Cameron Gutman
e1771de37a
Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls
2024-01-04 22:26:39 -06:00
Cameron Gutman
0403ad147a
Fix capturing scaled output with wlgrab
2024-01-04 22:26:39 -06:00
Cameron Gutman
1bd45ca803
Fix low-res scrolling on Linux
2024-01-04 00:51:10 -06:00
Cameron Gutman
a01a15a54b
Fix termination of child processes when the parent terminates
2024-01-03 16:50:08 -06:00
Cameron Gutman
43992e7e9b
Don't fail kmsgrab init entirely if a single card doesn't work
2024-01-03 16:14:18 -06:00
Cameron Gutman
0f640b8dd9
Fix clear color when rendering to VA surfaces
2024-01-03 16:14:18 -06:00
Cameron Gutman
a9b459cdb1
Use P010 instead of YUV420P10 for 10-bit VAAPI encoding
2024-01-03 16:14:18 -06:00
Cameron Gutman
beb51cc925
Correctly passthrough plane format and modifiers when importing VA surface
2024-01-03 16:14:18 -06:00
Cameron Gutman
e7a3c485ee
Only keep the ViGEmBus connection alive while gamepads are attached
2024-01-02 19:32:19 -06:00
Cameron Gutman
3ca75bee19
Add option to disable native pen/touch support
2024-01-01 19:53:57 -06:00
Cameron Gutman
729922d2c0
Add option to disable high resolution scroll events
2024-01-01 19:53:57 -06:00
Cameron Gutman
6ea836c511
Add options to control gamepad autoselection heuristics
...
Also move gamepad type selection to the input tab while we're here
2024-01-01 19:53:57 -06:00
ReenigneArcher
852db4877d
refactor(process): re-order variables to avoid unused variable when tray is disabled ( #1963 )
2024-01-01 19:36:00 -05:00
ReenigneArcher
c0164caaaa
builds(deps): use miniupnpc package instead of submodule ( #1971 )
...
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-01-01 18:48:27 -05:00
ReenigneArcher
fe3bf0ee6f
fix(tray): use PROJECT_NAME definition for tooltip ( #1958 )
2023-12-31 16:34:33 -05:00
James Le Cuirot
64be0aa67a
Fix grabbing code when DRM is enabled and X11 is disabled ( #1956 )
2023-12-31 15:57:45 -05:00
James Le Cuirot
d97f724e3b
Use dl handle for libva's vaTerminate rather than actual function ( #1955 )
2023-12-31 15:10:48 -05:00
Cameron Gutman
66e31a21fb
Compute the bitrate on the host side for supported clients
2023-12-30 18:27:37 -06:00
Cameron Gutman
a9f2679a49
Implement new protocol extension to match client connections together
...
Fixes #1804
Fixes #1862
Fixes #1852
2023-12-30 11:26:53 -06:00
Cameron Gutman
11d472362c
Print a fatal warning for lack of ViGEmBus
...
While this is not technically fatal, it's almost certainly not what the user wants.
2023-12-29 23:01:28 -06:00
Cameron Gutman
0d7811ad43
Demote FFmpeg fatal errors
...
Fixes #1849
2023-12-29 23:01:28 -06:00
jensaymoo
b215fe0cd9
fix: ensure user supplied framerates are used ( #1548 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-28 20:06:54 -05:00
TheElixZammuto
5bdbda90b5
Web UI migration to Vite and Vue3 and improvements to the UX ( #1673 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-27 19:25:49 -05:00
zoeyjodon
a851ef6068
Extend session timeout ( #1890 )
2023-12-09 09:31:04 -05:00
Cameron Gutman
4a2f7023ec
Fix discovery of Windows hosts by Apple devices
2023-12-04 21:03:37 -06:00
Cameron Gutman
3b9e37e1dd
Don't hardcode the signature length to RSA-2048 ( #1872 )
2023-11-30 23:51:45 -06:00
Justin Dhillon
0a563947ea
docs: fix broken links ( #1813 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-11-05 00:47:22 -04:00
Timo Gurr
ca41c9d6f4
config: add 2K resolution (WQHD - 16:9) ( #1816 )
2023-11-04 20:48:52 -04:00
everything411
842a4cf7b2
fix(audio:windows): set cbSize correctly ( #1787 )
2023-10-27 09:28:29 -04:00
Erick C
3212b036a1
Manual DS4 mode: Allow Back/Select to trigger Touchpad click ( #1772 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-10-22 15:03:33 -04:00
Elia Zammuto
045044e7e7
Remove origin_pin_allowed
2023-10-15 14:00:34 -05:00
Elia Zammuto
329620dc1a
Removed legacy pairing method
2023-10-15 14:00:34 -05:00
ns6089
a003f02ec3
Improve tray icon images ( #1736 )
2023-10-15 13:18:11 -04:00
Cameron Gutman
fe1832cda1
Revert "Use new 'remotegaming' scenario setting for QSV"
...
This causes Kaby Lake iGPUs to generate H.264 bitstreams with multiple
PPS NALUs which lead to some issues in current versions of Moonlight on
iOS and Android platforms.
This option also seems to override our max_dec_frame_buffering option
so it may increase latency on some Android devices too.
This reverts commit f838069a0e .
2023-10-14 01:49:47 -05:00
Cameron Gutman
11361ac9b6
Send proper DS4 timestamp values in our input reports
2023-10-10 23:10:20 -05:00
ns6089
a0fcaf7d19
Properly join session monitor window thread
2023-10-10 21:10:40 -05:00
Cameron Gutman
395d572b17
Fix Super key regression after 8a7111a ( #1728 )
2023-10-09 19:39:40 -04:00
Elia Zammuto
da04f97a8c
Remove false positive FATAL log
2023-10-08 18:12:06 -05:00
Cameron Gutman
8a7111a63b
Use our own keycode mapping instead of relying on Windows
...
Loading the US English layout causes user-visible side effects.
2023-10-08 17:32:22 -05:00
Cameron Gutman
56d13bc7e8
Fix missing newline in SDP response
2023-10-06 21:07:14 -05:00
Cameron Gutman
ee1a9a618a
Remove clang-format suppressions
2023-10-06 18:29:50 -05:00
Cameron Gutman
71024491e2
Allow the Misc button to work as Guide on emulated Xbox 360 controllers
...
It isn't physically present on Xbox 360 controllers, so we may as well use it for something.
2023-10-06 18:29:50 -05:00
ns6089
974c4bd4a1
Remove unused shader input layout
...
We don't use SV_Position in our vertex shaders.
2023-10-05 23:06:40 -05:00
ns6089
7f2b96b3e0
Refactor shaders
2023-10-05 23:06:40 -05:00
ns6089
2086cad96e
Support #include in dx shader compiler
2023-10-05 23:06:40 -05:00
Cameron Gutman
a29978d3de
Don't start the session monitor window when launched in command mode
2023-10-05 21:50:48 -05:00
Cameron Gutman
a08e2b3de6
Add comments clarifying AVBufferRef usage and ownership
2023-10-04 22:36:16 -05:00
Cameron Gutman
dcb719ee5f
Set prio_speed=1 on VideoToolbox encoder
...
This can massively improve encoding performance. See b67572c7c7
2023-10-04 22:36:16 -05:00
Cameron Gutman
c56ad91693
Implement zero-copy 8/10 bit encoding for macOS
2023-10-04 22:36:16 -05:00
Cameron Gutman
e535706a09
Fix CVPixelBuffer/CMSampleBuffer ownership issues
2023-10-04 22:36:16 -05:00
Cameron Gutman
ca041f2934
Use AVVideoScalingModeResizeAspect instead of abusing extended pixels
...
This not only eliminates the hand-rolled aspect ratio correction (which didn't actually handle scaling),
but it also avoids us having to write to the GPU frames to add padding which improves performance.
2023-10-04 22:36:16 -05:00
Cameron Gutman
a29d2e11ea
Fix only capturing a single frame on macOS
2023-10-04 22:36:16 -05:00
Cameron Gutman
bee9215805
Fix loading dummy image in the sync encoding path
2023-10-04 22:36:16 -05:00
Cameron Gutman
3246428b7d
Populate color properties on the AVFrame
...
VideoToolbox reads them from the AVFrame instead of the AVCodecContext.
2023-10-04 22:36:16 -05:00
Cameron Gutman
ed95b50f7a
Automatically treat launcher-type apps as detached
2023-10-04 17:59:36 -05:00
Elia Zammuto
cfd78b5ce7
Fix shutdown when called from tray callback ( #1691 )
2023-10-04 11:25:38 -04:00
Cameron Gutman
f838069a0e
Use new 'remotegaming' scenario setting for QSV
2023-10-02 19:49:29 -05:00
Cameron Gutman
eeb22a3e54
AMF 'preanalysis' property is now named 'preencode'
...
See f593dc98bf
2023-10-02 19:49:29 -05:00
Cameron Gutman
da5559bf7a
Remove usage of deprecated AVFrame key_frame field
2023-10-02 19:49:29 -05:00
Cameron Gutman
3e477647ff
Use a render node to create our VADisplay
...
Since libva 2.20, vaInitialize() will fail if we pass a primary node and
lack permission to authenticate. Since we don't actually need to have a
primary node fd to encode, let's use a render node instead.
2023-10-02 17:33:17 -05:00
Cameron Gutman
1303defb67
Fix crash during UDP segmentation due to stack garbage
...
CMSG_NXTHDR() tries to read the _next_ message to check if it fits in
the provided control buffer length. If that part of the stack has some
large value stored in the uninitialized cmsg_len there, CMSG_NXTHDR()
will return NULL and we will crash.
2023-10-02 00:13:47 -05:00
ReenigneArcher
f76879eb0d
feat(ui): add port mapping table ( #1681 )
2023-09-30 13:52:56 -04:00
Arthur Kasimov
17a320bfa5
Install icons to hicolor theme on Linux ( #1669 )
2023-09-23 23:20:46 -04:00
Chase Payne
376bb76409
Fix Command Failure on cold starts with Desktop ( #1652 )
2023-09-18 10:29:34 -04:00
Chase Payne
e3bd932ff6
Allow Desktop Streams if Prep Commands fail due to user not being logged in ( #1207 )
2023-09-17 15:36:04 -04:00
Elia Zammuto
dc967ccc7b
Event Ballons and Tray Icon improvements ( #1561 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-15 20:48:51 -04:00
ns6089
e98d7577bb
Support capturing rotated displays on Windows ( #1602 )
2023-09-13 10:34:26 -04:00
ns6089
646a569210
nvenc: add option to disable realtime hags
2023-09-07 18:03:19 -05:00
ns6089
cadb45ec3d
msvc: misplaced calling convention
2023-09-07 18:03:19 -05:00
ns6089
dfd6eaefcb
Don't use rounded refresh rate in info log
2023-09-07 18:03:19 -05:00
ns6089
8b40fa6dd5
nvenc: new config page
2023-09-07 18:03:19 -05:00
Cameron Gutman
11ebb47b3e
Evaluate log_to_dbg value at encoder init
2023-09-05 22:37:44 -05:00
ns6089
dad7bb41d9
nvenc: rename format setters that don't do av1
2023-09-05 21:32:37 -05:00
ns6089
4094fef67a
Bind constant buffers where you define them
...
And remove possible slot collisions.
2023-09-05 21:32:37 -05:00
ns6089
f2ed4bece9
nvenc: add chroma potition flag to vui
2023-09-05 21:32:37 -05:00
Cameron Gutman
9543bc77d8
Fix pen tilt angle calculation
2023-09-02 11:12:59 -05:00
Cameron Gutman
f1452d25ad
Implement UPnP IPv6 firewall control
2023-08-27 18:12:02 -05:00
Cameron Gutman
95c573e767
Switch to using Boost classes for IPv4/IPv6 ranges
2023-08-27 18:12:02 -05:00
Cameron Gutman
62a5cd959a
Implement IPv6 support
2023-08-27 18:12:02 -05:00
ns6089
7662fe8616
Don't accumulate errors in capture frame pacing
2023-08-27 13:13:43 -05:00
ns6089
b494d06f89
Adjust capture rate to better match display
2023-08-27 13:13:43 -05:00
ns6089
6683ea2ac1
Rework capture sleeps for better frame stability
2023-08-27 13:13:43 -05:00
ns6089
42a77b247e
Release duplication frame after snapshot
2023-08-27 13:13:43 -05:00
ns6089
730fce4b1c
Move client frame interval to local variable
2023-08-27 13:13:43 -05:00
ns6089
d2a634ee09
Don't check AccumulatedFrames
...
AMF doesn't do it and MSDN is unclear about it.
2023-08-27 13:13:43 -05:00
ns6089
d81e2cecaa
Add high_precision_sleep() method
2023-08-27 13:13:43 -05:00
ns6089
8dc51a21df
Remove DwmFlush()
2023-08-27 13:13:43 -05:00
Cameron Gutman
ebb6a7c9a9
Specify the source address for outbound audio and video traffic ( #1569 )
2023-08-26 16:37:04 -05:00
Cameron Gutman
24e7bd20fd
Allow displays to avoid probing HEVC or AV1 codecs even when H.264 is supported
...
This is the case for AMF which requires certain versions for HEVC Main10 and AV1 support.
2023-08-26 12:38:24 -05:00
Cameron Gutman
728a9cc66f
Treat codec modes as soft requirements
2023-08-26 12:38:24 -05:00
Cameron Gutman
ef2279d627
Allow the display to reject unsupported codecs
2023-08-26 12:38:24 -05:00
Cameron Gutman
f9a00f3ed4
Fix FFmpeg logging going to stdout rather than our log file
2023-08-24 18:24:24 -05:00
Cameron Gutman
9d79018e9d
Fix AMF debug logging to be conditional based on configured log level
2023-08-24 18:24:24 -05:00
ns6089
cea9f152d8
Add log message for audio capture buffer oveflow
2023-08-22 23:27:14 -05:00
ns6089
2c44c4dbd2
Add log message for audio buffer discontinuity
2023-08-22 23:27:14 -05:00
ns6089
3ceee008f3
Use MMCSS task in audio capture thread
2023-08-22 23:27:14 -05:00
ns6089
4d94bcc3b0
nvenc: improve rfi logic ( #1542 )
2023-08-22 22:24:47 -05:00
Cameron Gutman
4f748c5343
Disable libsvtav1 due to showstopping bugs
2023-08-19 18:36:48 -05:00
Cameron Gutman
625214776e
Print an error if the encoder doesn't produce an IDR frame on demand
2023-08-19 18:36:48 -05:00
Cameron Gutman
d4d62b7b23
Remove nonsense operator combo
2023-08-19 18:36:48 -05:00
Cameron Gutman
190c9b4216
Move AMF version check into display_vram_t to avoid blocking software encoding
2023-08-19 18:36:48 -05:00
Cameron Gutman
8b05674290
Turn off AMF filler data to match other encoders
2023-08-19 18:36:48 -05:00
Cameron Gutman
69e720b44b
Implement AV1 support
2023-08-19 18:36:48 -05:00
Cameron Gutman
67c1fa6da7
Populate the last payload length field in the video header
2023-08-19 18:36:48 -05:00
Elia Zammuto
a84dea3862
Windows Manifest improvements ( #1557 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-08-19 14:06:35 -04:00
Cameron Gutman
22ab9948fa
Pass the environment as a const reference so nobody else is tempted to modify it
2023-08-16 21:48:16 -05:00
Cameron Gutman
774f13aecb
Fix race condition inserting new process into our job object
...
Before this fix, it could spawn a child that would escape our tracking if it ran before we added it to our job object.
2023-08-16 21:48:16 -05:00
Chase Payne
06a6d94e87
removing debug code left from another commit
2023-08-15 18:37:24 -05:00
Chase Payne
2c953a3ce7
bugfix: fixed a bug that caused SUNSHINE_CLIENT_HDR to always be false
2023-08-15 18:37:24 -05:00
Chase Payne
980e396c4f
Command Resource Exhaustion bug fix ( #1531 )
...
Co-authored-by: kirksaunders <kirksaunders12@gmail.com>
2023-08-14 19:50:23 -04:00
ns6089
def9b2d76f
Add missing software device creation override
2023-08-13 15:15:32 -05:00
ns6089
f2f63cdfff
nvenc: properly apply minqp to I-frames
2023-08-13 15:15:32 -05:00
ns6089
6c5fa8a08d
Mark nvapi_QueryInterface as cdecl
...
Shouldn't matter on x64 since everything is fastcall here, but cdecl is
the correct declaration.
2023-08-13 07:01:09 -05:00
ns6089
68fa43a61c
Add standalone NVENC encoder
2023-08-13 07:01:09 -05:00
ns6089
b5816be104
Remove extra namespace typo
2023-08-13 07:01:09 -05:00
Cameron Gutman
166924427e
Use existing H.264 SPS as a template rather than building it from scratch
2023-08-13 05:37:16 -05:00
Cameron Gutman
e465014433
Fix stack exhaustion in make_sps_hevc()
2023-08-13 05:37:16 -05:00
Cameron Gutman
cadd3da9a7
Use UTF-8 conversion for log output and C standard library functions
2023-08-11 20:15:14 -05:00
Cameron Gutman
4186d83027
Disable HDR encoding for AMF versions below 1.4.23
2023-08-11 18:27:39 -05:00
Cameron Gutman
eafb018516
Fix clamping mouse position to aspect ratio adjusted viewport
...
Fixes #1512
2023-08-08 23:42:29 -05:00
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