diff --git a/.gitignore b/.gitignore index 30818d52ae3..d3dde25e0a4 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,14 @@ build/ cmake-*/ docs/doxyconfig* +_deps/ +assets/ +CMakeFiles/ +tests/ +latex/ +html/ +third-party/ffmpeg-* +third-party/miniupnp # npm node_modules/ diff --git a/docs/configuration.md b/docs/configuration.md index fe8c22b93be..cc69e485d76 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1314,6 +1314,29 @@ editing the `conf` file in a text editor. Use the examples as reference. +### max_bitrate + + + + + + + + + + + + + + +
Description + The maximum bitrate (in Kbps) that Sunshine will encode the stream at. If set to 0, it will always use the bitrate requested by Moonlight. +
Default@code{} + 0 + @endcode
Example@code{} + max_bitrate = 5000 + @endcode
+ ### min_fps_factor diff --git a/src/config.cpp b/src/config.cpp index b4be08301b3..f371533d198 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -538,7 +538,6 @@ namespace config { platf::get_host_name(), // sunshine_name, "sunshine_state.json"s, // file_state {}, // external_ip - 0, // max bitrate }; input_t input { diff --git a/src/config.h b/src/config.h index 26f9508bb10..da7723eb49b 100644 --- a/src/config.h +++ b/src/config.h @@ -175,12 +175,9 @@ namespace config { std::string file_state; std::string external_ip; -<<<<<<< HEAD std::vector resolutions; std::vector fps; int max_bitrate; -======= ->>>>>>> upstream/master }; struct input_t { diff --git a/src/video.cpp b/src/video.cpp index 2a294b75936..6b6e6ee47dd 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -1686,12 +1686,8 @@ namespace video { } } -<<<<<<< HEAD - if (video_format[encoder_t::CBR]) { auto bitrate = ((config::nvhttp.max_bitrate != 0) ? std::min(config.bitrate, config::nvhttp.max_bitrate) : config.bitrate) * 1000; -======= - auto bitrate = config.bitrate * 1000; ->>>>>>> upstream/master + BOOST_LOG(info) << "Max bitrate is " << config::nvhttp.max_bitrate; ctx->rc_max_rate = bitrate; ctx->bit_rate = bitrate; diff --git a/src_assets/common/assets/web/config.html b/src_assets/common/assets/web/config.html index f55f6ec7888..27245056c4e 100644 --- a/src_assets/common/assets/web/config.html +++ b/src_assets/common/assets/web/config.html @@ -1,355 +1,5 @@ -<<<<<<< HEAD -
-

Configuration

-
- - - -
- -
- - -
- The name displayed by Moonlight. If not specified, the PC's hostname is used -
-
- -
- - -
- The minimum log level printed to standard out -
-
- -
- - -
- The file where the current logs of Sunshine are stored. -
-
- -
- - -
- The origin of the remote endpoint address that is not denied access to Web UI -
- -
- Exposing the Web UI to the internet is a security risk! Proceed at your own risk! -
-
- -
- - -
Automatically configure port forwarding
-
- -
- - -
Choose which type of gamepad to emulate on the host
-
-
-
-

- -

-
-
-
- - -
When forcing DS4 emulation, map Back/Select to Touchpad Click
-
-
-
-
-
- -
- - -
- How long to wait in milliseconds for data from moonlight before shutting down the stream -
-
- -
- -
- -
-
- {{r}} - × -
-
- - - -
-
-
- -
-
- {{f}} - × -
-
- - - -
-
-
- The display modes advertised by Sunshine
- Some versions of Moonlight, such as Moonlight-nx (Switch), rely on this list to ensure that the requested - resolutions and fps are supported.
- This setting does not change how the screen stream is sent to Moonlight -
-
- - -
- Maximum bitrate for streaming in Kbps. If not specified, the default bitrate is used -
-
-
- -
- - -
- It may be possible that you cannot send the Windows Key from Moonlight directly.
- In those cases it may be useful to make Sunshine think the Right Alt key is the Windows key -
-
- -
- -
- Configure a list of commands to be executed before or after running any application. - If any of the specified preparation commands fail, the application launch process will be aborted. -
-
- - - - - - - - - - - - - - - - -
Do Command Undo Command - Run as Admin -
- - - - -
- - -
-
- - -
- - - - -
- -
- - -
The private key must be 2048 bits
-
- -
- - -
- The certificate must be signed with a 2048 bit key -
-
-======= ->>>>>>> upstream/master <%- header %> @@ -360,56 +10,11 @@

border-top: none; } -<<<<<<< HEAD - diff --git a/third-party/Simple-Web-Server b/third-party/Simple-Web-Server index 4abe3491582..27b41f5ee15 160000 --- a/third-party/Simple-Web-Server +++ b/third-party/Simple-Web-Server @@ -1 +1 @@ -Subproject commit 4abe3491582b56c0b18fc35278aad33b2db29cdc +Subproject commit 27b41f5ee154cca0fce4fe2955dd886d04e3a4ed diff --git a/third-party/ViGEmClient b/third-party/ViGEmClient index 8d71f6740ff..b66d02d57e3 160000 --- a/third-party/ViGEmClient +++ b/third-party/ViGEmClient @@ -1 +1 @@ -Subproject commit 8d71f6740ffff4671cdadbca255ce528e3cd3fef +Subproject commit b66d02d57e32cc8595369c53418b843e958649b4 diff --git a/third-party/nanors b/third-party/nanors index 19f07b513e9..e9e242e98e2 160000 --- a/third-party/nanors +++ b/third-party/nanors @@ -1 +1 @@ -Subproject commit 19f07b513e924e471cadd141943c1ec4adc8d0e0 +Subproject commit e9e242e98e27037830490b2a752895ca68f75f8b diff --git a/third-party/nvapi-open-source-sdk b/third-party/nvapi-open-source-sdk index cce4e90b629..c0f5f7b64d2 160000 --- a/third-party/nvapi-open-source-sdk +++ b/third-party/nvapi-open-source-sdk @@ -1 +1 @@ -Subproject commit cce4e90b629f712ae6eebafac97739bd1196cdef +Subproject commit c0f5f7b64d2ef13b1155f078a2eec156611f2415 diff --git a/third-party/wayland-protocols b/third-party/wayland-protocols index c7b582cb71e..d70af2ea1e9 160000 --- a/third-party/wayland-protocols +++ b/third-party/wayland-protocols @@ -1 +1 @@ -Subproject commit c7b582cb71ec145026a547dcd8abb9dfeba40541 +Subproject commit d70af2ea1e9892f16ec5d25fd04e36826b7e3aef diff --git a/third-party/wlr-protocols b/third-party/wlr-protocols index ffb89ac7900..4264185db3b 160000 --- a/third-party/wlr-protocols +++ b/third-party/wlr-protocols @@ -1 +1 @@ -Subproject commit ffb89ac790096f6e6272822c8d5df7d0cc6fcdfa +Subproject commit 4264185db3b7e961e7f157e1cc4fd0ab75137568