diff --git a/assets/sunshine.conf b/assets/sunshine.conf index ca556179..1b82910e 100644 --- a/assets/sunshine.conf +++ b/assets/sunshine.conf @@ -83,12 +83,12 @@ # The file where configuration for the different applications that Sunshine can run during a stream # file_apps = apps.json -# How much error correcting packets must be send for every video -# This is just some random number, don't know the optimal value -# The higher fec_percentage, the lower space for the actual data to send per frame there is +# Percentage of error correcting packets per data packet in each video frame +# Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage +# The default value of 20 is what GeForce Experience uses # -# The value must be greater than 0 and lower than or equal to 100 -# fec_percentage = 10 +# The value must be greater than 0 and lower than or equal to 255 +# fec_percentage = 20 # When multicasting, it could be usefull to have different configurations for each connected Client. # For example: diff --git a/assets/web/config.html b/assets/web/config.html index 8002ef45..a4a39c58 100644 --- a/assets/web/config.html +++ b/assets/web/config.html @@ -317,12 +317,12 @@
-
- How much error correcting packets must be send for every video.
- This is just some random number, don't know the optimal value.
- The higher fec_percentage, the lower space for the actual data to send per frame there is + Percentage of error correcting packets per data packet in each video frame.
+ Higher values can correct for more network packet loss, but at the cost of increasing bandwidth usage.
+ The default value of 20 is what GeForce Experience uses.
diff --git a/sunshine/config.cpp b/sunshine/config.cpp index ba6f75fc..b7c258f3 100644 --- a/sunshine/config.cpp +++ b/sunshine/config.cpp @@ -180,7 +180,7 @@ stream_t stream { APPS_JSON_PATH, - 10, // fecPercentage + 20, // fecPercentage 1 // channels }; @@ -624,7 +624,7 @@ void apply_config(std::unordered_map &&vars) { int_between_f(vars, "channels", stream.channels, { 1, std::numeric_limits::max() }); path_f(vars, "file_apps", stream.file_apps); - int_between_f(vars, "fec_percentage", stream.fec_percentage, { 1, 100 }); + int_between_f(vars, "fec_percentage", stream.fec_percentage, { 1, 255 }); to = std::numeric_limits::min(); int_f(vars, "back_button_timeout", to);