Commit Graph

309 Commits

Author SHA1 Message Date
c2420427b1 style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
f57aee9025 build(linux)!: remove legacy input option (#3562) 2025-01-19 12:18:08 -05:00
820180c9e7 docs(hrefs): update readthedocs hrefs (#3476) 2025-01-13 22:34:54 -05:00
8392bdc98f feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA (#3530)
* Revert "feat(ddprobe): allow to manually specify gpu preference (#3521)"

This reverts commit 6a233cbcbf.

* Keep display revert delay input type change from 6a233cbcb

* Remove ddprobe

* feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA
2025-01-12 17:11:03 -06:00
c369e8e5b6 fix(capture/windows): fix capture when using the basic render driver (#3531)
* fix(capture/windows): fix capture when using the basic render driver

* chore(tests): remove now unnecessary TESTS_SOFTWARE_ENCODER_UNAVAILABLE option
2025-01-12 16:05:18 -06:00
6a233cbcbf feat(ddprobe): allow to manually specify gpu preference (#3521) 2025-01-08 18:44:11 -05:00
76bea8acb9 feat(display): Configure display device based on user config (#3441) 2025-01-07 20:40:48 -05:00
151ff8f2b9 fix(capture/macos): fix implicit conversion of NSArray (#3502) 2025-01-03 18:01:24 -05:00
1543f584ab feat(display)!: Add libdisplaydevice dependency and output name mapping (#2894) 2024-12-11 14:17:44 -05:00
fb1f5b5a89 fix(hostname): fix handling of non-ASCII hostnames on Windows (#3382) 2024-11-09 14:05:46 -06:00
1cab1a5a1e fix(process): avoid leaking zombies and fds in detached processes (#3379) 2024-11-07 22:15:33 -06:00
a06d4aefa6 fix(macos): prevent indefinite hanging if screen capture is not granted (#3360) 2024-11-02 17:05:56 +00:00
9e52ac426d feat(vaapi): add option to enable strict enforcement of frame size (#3332)
* feat(vaapi): add option to enable strict enforcement of frame size

* Eliminate the QP fallback code that was only required for VAAPI
2024-11-01 12:36:25 -05:00
3744c43ea7 fix(audio/windows): don't set virtual speakers higher than 24-bit mode (#3294)
Windows: don't try to set Steam speakers to 32-bit mode to avoid clobbering spatial audio settings
2024-10-14 01:36:27 +00:00
5b435fd0c1 fix(display): fix logic to remember ddprobe already ran (#3293) 2024-10-13 18:04:52 -05:00
e0743169be build(mingw): work around broken windows.foundation.h (#3291) 2024-10-11 22:33:33 -04:00
e90b71ce62 fix(boost)!: migrate boost to 1.86 (#3256) 2024-10-03 21:42:16 -04:00
fceda35d44 fix: automatic selection for hybrid GPU and IDDSampleDriver users (#3002)
* Fix frame capture and output duplication for dual GPU setups and virtual displays

- Added `test_frame_capture` function to verify if frames are successfully captured and not empty.
- Fixes issues with virtual displays such as IDDSampleDriver when using more than one GPU.

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-09-29 20:32:34 +00:00
5bc32cdeb3 fix(macos): Touch input broken (#3240) 2024-09-29 15:59:20 +00:00
49319d7688 fix(win/input): use active keyboard layout for non-normalized key events (#3125) 2024-09-04 22:25:02 -05:00
7ce8547d6e fix(win/video): don't offload chroma subsampling math to texture sampler when downscaling (#3014)
* Don't use sampler math for chroma if downscaling

* Correct portrait rotation offsets
2024-09-02 19:02:05 -05:00
697e877070 fix(linux): use correct value for AMD_DEBUG environment variable (#3115) 2024-09-01 09:01:03 -04:00
0f40a092de chore: update global workflows (#3113)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-08-31 17:45:57 +00:00
3976b63ee8 fix(win/input): fix false warnings about missing ViGEmBus (#3097) 2024-08-26 14:41:17 +00:00
45265fb103 fix(macos/linux): import boost headers normally (#3096) 2024-08-26 09:27:23 -04:00
88ce5077b0 fix(mdns): don't hardcode mDNS instance name (#3084) 2024-08-25 19:20:33 -04:00
bf92fda969 fix(linux): enable lowlatency mode for AMD (#3088) 2024-08-25 10:50:51 -04:00
170f4dd181 fix(win/qsv): skip unsupported 4:4:4 codecs (#3029) 2024-08-19 08:30:13 -04:00
bfdfcebc80 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-16 13:41:27 -04:00
c246c78b13 fix(linux): ensure NvFBC capture works after multiple sessions (#3020) 2024-08-15 21:30:00 -04:00
f9c885a414 fix(linux/audio): don't set pulseaudio buffer size (#2999) 2024-08-09 20:29:17 +00:00
adf068e44e fix(windows): properly break on the first matching DXGI output (#2962) 2024-08-04 22:40:28 +00:00
f4dda21248 Migrate audio pipeline to float from 16-bit integer (#2873)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-25 21:01:43 -04:00
0ca560ced8 Fix invalid parameter passed to WSASendMsg() (#2890)
The third parameter is for flags, not number of messages.
2024-07-19 08:39:37 +00:00
3935d305ae Implement S/G IO for batched sends and eliminate another frame copy (#2874) 2024-07-19 04:04:18 +00:00
81c6e61594 Implement S/G IO for non-batched sends and eliminate more data copies (#2867) 2024-07-18 02:34:56 +00:00
5f715d66cd fix(linux/input): don't pass unknown battery values (#2820) 2024-07-14 18:11:29 +00:00
18e7dfb190 Refactor periodic loggers and limit batch size for small packets (#2835)
* Refactor periodic loggers

* Limit network batch size also by packet count

Previously it was limited only by size, and exceeding 64 packets in a
single batch is asking for problems.
2024-07-13 20:55:03 +00:00
8187a28afc fix(linux/input): handle pen EVENT_MOVE events (#2841) 2024-07-13 19:53:06 +00:00
037c61dc99 Implement basic network flow control (#2803)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-11 00:03:16 +00:00
30748dd916 Check API before trying to disable border on WGC capture (#2825) 2024-07-10 12:14:17 +00:00
38c13c8fe1 Fix rate control for AMD cards using VAAPI (#2821) 2024-07-08 15:05:35 +00:00
3cc12dfbe7 macOS: New implementation of service publication (#2786)
The current implementation of service publication on macOS uses
`avahi-client`, but the majority of macOS machines do not have Avahi
installed because macOS provides a native alternative (`mDNSresponder`),
meaning that there is no reason to install Avahi.

The current implementation also attempts to load the Avahi client
libraries using `dlopen(3)`, which has a variety of restrictions on
macOS, such as only being willing to load from certain directories.
Depending on where the Avahi binaries are installed, they might not
be loadable through the current invocation of `dlopen(3)`.

Instead of using an Avahi client on macOS, it makes more sense to use
the native macOS API for publishing services via `mDNSresponder`. This
commit supplies such an implementation that uses the macOS native API.
It also has the advantage of being much simpler than the previous
implementation. Furthermore, this new implementation works on all
macOS machines, because it relies only on native APIs, rather than on
third-party software that is not commonly installed on macOS.
2024-07-07 15:19:51 +00:00
1dd4b68e1c docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
acd9ae606e docs: more doxygen fixes (#2736) 2024-06-21 01:34:27 +00:00
f3abf59fbf docs(src): fix some doxygen warnings (#2731) 2024-06-20 01:36:09 +00:00
9a82b6810a docs: fix ffmpeg include directory (#2727) 2024-06-19 02:54:35 +00:00
fb18b38f68 fix(linux/input): battery values conversion (#2715) 2024-06-17 22:37:48 +00:00
509576d616 feat(input/linux): add support for more virtual input devices (#2606)
Co-authored-by: ABeltramo <beltramo.ale@gmail.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-16 00:21:18 +00:00
02ddbefd44 fix(macos): Mouse input broken in-game (#2550)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-12 17:26:02 -04:00