Commit Graph

32 Commits

Author SHA1 Message Date
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
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
dfd6eaefcb Don't use rounded refresh rate in info log 2023-09-07 18:03:19 -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
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
190c9b4216 Move AMF version check into display_vram_t to avoid blocking software encoding 2023-08-19 18:36:48 -05:00
Cameron Gutman
4186d83027 Disable HDR encoding for AMF versions below 1.4.23 2023-08-11 18:27:39 -05:00
ns6089
6dfe56518c Decrease gpu scheduling priority for NVIDIA
Fixes #1031
2023-07-09 18:50:10 -05:00
Cameron Gutman
33dafbc801 Add warning when Desktop Duplication API masks protected content from capture 2023-05-14 14:28:03 -05:00
ReenigneArcher
4ca6dc6c8e docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60 docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
Cameron Gutman
c8d4fd9f69 Keep/turn the display on during streaming
IDXGIDuplication::DuplicateOutput() may fail with 0x80070005 if the display is off and cause streaming to fail
2023-05-03 00:07:01 -05:00
ns6089
eed27d3c0a Decrease normal capture buffer to single image 2023-04-11 18:17:48 -05:00
Cameron Gutman
f04d5e12de Combine the separate HDR and SDR capture formats
Since we support multi-encoding from a single display context, we have
to ensure our capture format allows for HDR color even if the initial
encoding session is SDR.
2023-04-06 22:37:05 -05:00
ReenigneArcher
21eb4eb6dd clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
Cameron Gutman
bcd5188ac5 Implement HDR support for Windows (#825) 2023-01-25 19:48:55 -06:00
Cameron Gutman
9181028bcf HDR prep work (#808) 2023-01-23 20:54:08 -06:00
Cameron Gutman
da390c37db Improve reliability of hybrid graphics detection (#801) 2023-01-20 22:12:16 -06:00
Cameron Gutman
49fc618682 Add support for hybrid graphics systems (NVIDIA Optimus) (#782) 2023-01-17 23:55:44 -06:00
Cameron Gutman
7f6383833c Replace frame capture busy loop with waitable timer (#778) 2023-01-17 09:09:15 -05:00
Cameron Gutman
0439d7a83a Use separate encoding and capture devices to enable parallel encoding and capture (#668) 2023-01-02 15:56:58 -05:00
Cameron Gutman
76ffa2a0b5 Fix unexpected format switching in display_vram (#667) 2023-01-02 12:11:45 -05:00
Cameron Gutman
0c6d0edacf Dynamic capture format selection (IDXGIOutput5) (#654)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
2022-12-31 17:38:29 -05:00
Cameron Gutman
bb092c0723 Fix streaming with non-B8G8R8A8 desktop mode (#609) 2022-12-22 20:48:31 -05:00
ReenigneArcher
a4acaf15b0 move sunshine to src
- this will allow for common cpp workflow files within org
2022-08-07 23:37:57 -04:00