2186 Commits

Author SHA1 Message Date
ReenigneArcher
a420760d36
ci(linux): increase root reserve for AppImage build (#2130) 2024-02-11 09:01:14 -05:00
Cameron Gutman
65493d09e8 Cloak MAC address from unpaired clients 2024-02-10 13:47:51 -06:00
Cameron Gutman
78ed91af5c Treat escape sequences like other replacements 2024-02-10 09:52:35 -06:00
Cameron Gutman
c0ad9639c4 Fix spacing of multi-argument %* substitutions 2024-02-10 09:52:35 -06:00
Cameron Gutman
11c8cf176c Simplify and fix handling of incomplete substitution strings 2024-02-10 09:52:35 -06:00
ReenigneArcher
cd2153f340
refactor(main): move file operation functions to new source (#2124) 2024-02-10 07:37:27 -05:00
ReenigneArcher
1c50bc502b
refactor(main): move map_port to network (#2115) 2024-02-09 09:15:47 -05:00
ReenigneArcher
d91e2c9ecb
docs(examples): update uri examples (#2118) 2024-02-08 10:18:10 -05:00
Cameron Gutman
358aac9277 Modernize the default Steam shortcut
With auto-detach and properly job tracking, we don't need to run Steam detached anymore. We can just use the plain URL now too.
2024-02-08 01:59:40 -06:00
Cameron Gutman
aa76b2398b Add support for starting URLs and regular files that aren't executable
This provides some limited ShellExecute-like behavior.
2024-02-08 01:59:40 -06:00
Cameron Gutman
ee93890d86 Don't attempt to get the working directory of a URL 2024-02-08 01:59:40 -06:00
ReenigneArcher
0aa4f06c39
refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
Cameron Gutman
8373a8b947 Avoid recreating the display when no display parameters have changed 2024-02-06 20:00:24 -06:00
Cameron Gutman
aee88f336a Don't fall back to undefined ref frame count on HEVC/AV1 if H.264 succeded with ref frame count specified
I don't think there are any encoders out there that support this for some codecs and not others.
2024-02-06 20:00:24 -06:00
Cameron Gutman
38d45b39ae Don't populate QP rate control fallbacks for encoders guaranteed to support CBR/VBR
It just needlessly slows down encoder probing when the encoder or codec is not supported.
2024-02-06 20:00:24 -06:00
Cameron Gutman
ff8c8ce3ab Skip encoder reprobing if no GPU changes have occurred 2024-02-06 20:00:24 -06:00
ReenigneArcher
040c3a6916
style(submodules): alphabetize gitmodules (#2104) 2024-02-04 19:25:58 -05:00
ReenigneArcher
76e160bb0a
style(macos): various code style fixes (#2086) 2024-02-04 18:37:44 -05:00
Cameron Gutman
dea1155983 Inform clients of graceful termination when Sunshine exits 2024-02-04 16:43:59 -06:00
Cameron Gutman
be6f856840 Fix DSCP tagging for dual-stack sockets on Linux 2024-02-04 16:19:22 -06:00
ReenigneArcher
b7a3985807
build(docker): add docker toolchain for clion (#2098) 2024-02-03 20:57:14 -05:00
dependabot[bot]
71d88ef9c9 build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `3acba57` to `cbd0ec1`.
- [Commits](3acba578b1...cbd0ec1b25)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 17:02:36 -06:00
Cameron Gutman
3578727ff9 Require RTSP encryption when encryption mode is set to mandatory
This also lets us provide a friendly error to the client when it is rejected.
2024-02-03 15:05:43 -06:00
Cameron Gutman
f80b23750b Implement RTSP encryption support
RTSP encryption is mandatory for client that report core version 1 or later.
2024-02-03 15:05:43 -06:00
Cameron Gutman
ca29eac53a Refactor RTSP handling to be session-based rather than socket-based
This is required to support per-session attributes like encryption keys during RTSP message processing.
2024-02-03 15:05:43 -06:00
Cameron Gutman
e62d6915db Fix -Wreturn-local-addr warning in event_t::view() 2024-02-03 15:05:43 -06:00
ReenigneArcher
328a300550
build(cmake): use CMAKE_SOURCE_DIR property (#2091) 2024-02-03 15:29:09 -05: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
dependabot[bot]
190ea41b2e build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `298f356` to `3acba57`.
- [Commits](298f356acb...3acba578b1)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 01:47:22 -06:00
ReenigneArcher
5e948dc835
docs(build): add missing libcurl build dep for ubuntu (#2081) 2024-01-31 19:59:11 -05:00
dependabot[bot]
f82c3cbc99
build(deps): bump furo from 2023.9.10 to 2024.1.29 (#2077)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-30 08:31:14 -05: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 ebe01ce20b06c6f10392f945c1c7083ed3aa733f.

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
ReenigneArcher
75b6e1f1d8
docs(setup): correct instruction for portfile install (#2058) 2024-01-25 20:21:05 -05:00
PVermeer
0d4dfcd708
Find the correct install paths for systemd units and udev rules (#2046) 2024-01-21 16:53:30 -05:00
ns6089
52511f3ccb Update docs for new nvenc options 2024-01-20 18:28:09 -06:00
ns6089
fe886632dc Add new nvenc options to legacy ffmpeg path 2024-01-20 18:28:09 -06:00
ns6089
6ded2a9577 Update config page for new nvenc/nvprefs options 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