Commit Graph

759 Commits

Author SHA1 Message Date
Yukino Song
8db50446a7 Support headless mode 2024-08-21 23:39:41 +08:00
Yukino Song
c071e4ae12 Fix uninitialized scale_factor 2024-08-21 01:43:10 +08:00
Yukino Song
e02e2e4d2c Properly terminate the running app when saving apps 2024-08-21 00:58:06 +08:00
Yukino Song
2fb4ec1931 Add per-app resolution scale config 2024-08-21 00:47:55 +08:00
Yukino Song
f2401c08f7 Set render adapter for virtual display driver w/ show detailed virtual display driver status on config 2024-08-21 00:06:41 +08:00
Yukino Song
0f6d9ba66e Merge remote-tracking branch 'origin/master' into vdisplay 2024-08-20 19:27:45 +08:00
Yukino Song
8fa306d51c Finalize scale factor implementation 2024-08-20 19:24:03 +08:00
Yukino Song
79c4b15b1a More detailed vdisplay driver state 2024-08-20 13:01:49 +08:00
Yukino Song
bb88a3c314 Add scale factor w/ use server UUID for monitor GUID if client uid not present 2024-08-20 03:48:20 +08:00
ns6089
170f4dd181 fix(win/qsv): skip unsupported 4:4:4 codecs (#3029) 2024-08-19 08:30:13 -04:00
Yukino Song
e0924e3a21 Add app config to set virtual display as primary 2024-08-19 08:50:03 +08:00
Yukino Song
25eb5c8714 Add virtual display config to apps 2024-08-19 07:08:39 +08:00
Yukino Song
833c902a56 Report driver status to WebUI 2024-08-18 09:09:37 +08:00
Yukino Song
6fa277ec0b Try add sudovda driver support 2024-08-18 06:09:07 +08:00
Chase Payne
24a4a89d2b implement cgutmans ideas 2024-08-17 01:36:44 -05:00
ns6089
25919a9a89 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-17 01:52:36 +08:00
Insanemal
7b74db33c8 fix(linux): ensure NvFBC capture works after multiple sessions (#3020) 2024-08-17 01:52:18 +08:00
Yukino Song
89677241f8 Fix tray messages with different code page 2024-08-17 01:49:24 +08:00
ns6089
bfdfcebc80 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-16 13:41:27 -04:00
Insanemal
c246c78b13 fix(linux): ensure NvFBC capture works after multiple sessions (#3020) 2024-08-15 21:30:00 -04:00
ns6089
0826abf607 fix(linux/audio): don't set pulseaudio buffer size (#2999) 2024-08-16 07:48:36 +08:00
Yukino Song
fe0a032b67 Fetch device name and uniqueid from connection (require Moonlight Noir) 2024-08-16 07:47:50 +08:00
ns6089
f9c885a414 fix(linux/audio): don't set pulseaudio buffer size (#2999) 2024-08-09 20:29:17 +00:00
Yukino Song
8b746ab570 Merge remote-tracking branch 'origin/master' 2024-08-10 00:21:20 +08:00
ns6089
b6b8e681cb fix: print encoder name to info log during creation (#2965) 2024-08-08 16:09:51 -04:00
ns6089
6d91e680c5 feat(logging): include milliseconds timestamps (#2963) 2024-08-08 10:52:08 -04:00
Yukino Song
40b6352a4c Merge remote-tracking branch 'origin/master' 2024-08-08 19:43:28 +08:00
ReenigneArcher
04df80ff6b feat!: drop advertised resolutions and fps (#2924) 2024-08-08 02:10:19 +00:00
Yukino Song
bd69b78f44 Merge remote-tracking branch 'origin/master' 2024-08-07 22:56:18 +08:00
Yukino Song
ef3dc6464c Further rebrand 2024-08-05 07:03:17 +08:00
ns6089
adf068e44e fix(windows): properly break on the first matching DXGI output (#2962) 2024-08-04 22:40:28 +00:00
Yukino Song
774ce93162 Try to make the audio sink mess clear 2024-08-04 19:11:58 +08:00
ns6089
4fd6c66edb Handle CTRL_CLOSE_EVENT on Windows (#2952)
This allows us to terminate gracefully when console window is closed.
Mostly relevant for portable builds.
2024-08-03 21:21:10 +00:00
Yukino Song
a8e1ecde6e Capture the last used display when restoring a stream 2024-07-30 23:51:03 +08:00
Yukino Song
093760ac92 Add sunshine_name:port and app name to tray menu 2024-07-30 23:50:36 +08:00
Yukino Song
73bc060908 Add force close option on tray menu 2024-07-30 01:29:43 +08:00
Lukas Senionis
369158375f fix: remove logging::bracket "*_view" overloads (#2919) 2024-07-26 08:29:49 -04:00
ns6089
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
Cameron Gutman
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
Cameron Gutman
3935d305ae Implement S/G IO for batched sends and eliminate another frame copy (#2874) 2024-07-19 04:04:18 +00:00
Cameron Gutman
81c6e61594 Implement S/G IO for non-batched sends and eliminate more data copies (#2867) 2024-07-18 02:34:56 +00:00
Cameron Gutman
5f715d66cd fix(linux/input): don't pass unknown battery values (#2820) 2024-07-14 18:11:29 +00:00
Cameron Gutman
d57c66fa9c Eliminate a redundant alloc+copy of each frame (#2852)
* Eliminate a redundant alloc+copy for each frame

* Replace std::copy_n() with std::memcpy() for better code generation
2024-07-14 12:23:19 -05:00
ns6089
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
Christos Falas
8187a28afc fix(linux/input): handle pen EVENT_MOVE events (#2841) 2024-07-13 19:53:06 +00:00
Cameron Gutman
e7c420dd6e Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions (#2828)
* Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions

* Update nanors to fix AVX-512 memory corruption
2024-07-11 20:22:57 -05:00
ns6089
037c61dc99 Implement basic network flow control (#2803)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-11 00:03:16 +00:00
ns6089
30748dd916 Check API before trying to disable border on WGC capture (#2825) 2024-07-10 12:14:17 +00:00
Cameron Gutman
38c13c8fe1 Fix rate control for AMD cards using VAAPI (#2821) 2024-07-08 15:05:35 +00:00
Cathy J. Fitzpatrick
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