diff --git a/config/config.example.yml b/config/config.example.yml index d2346719..d5e16275 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -239,6 +239,13 @@ https_only: false ## #statistics_enabled: false +## +## Maximum videos to be loaded into the playlist before the video playing +## +## Accepted values: a positive integer +## Default: 50 +## +max_lookback: 50 # ----------------------------- # Users and accounts diff --git a/src/invidious.cr b/src/invidious.cr index fb36ed56..37de5731 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -2462,9 +2462,9 @@ end next error_json(404, "Playlist does not exist.") end - # includes into the playlist a maximum of CONFIG.max_loopback videos, before the offset + # includes into the playlist a maximum of CONFIG.max_lookback videos, before the offset if offset > 0 - lookback = offset < CONFIG.max_loopback ? offset : CONFIG.max_loopback + lookback = offset < CONFIG.max_lookback ? offset : CONFIG.max_lookback response = playlist.to_json(offset - lookback, locale) json_response = JSON.parse(response) else @@ -2479,7 +2479,7 @@ end if json_response["videos"].as_a[0]["index"] != offset offset = json_response["videos"].as_a[0]["index"].as_i - lookback = offset < CONFIG.max_loopback ? offset : CONFIG.max_loopback + lookback = offset < CONFIG.max_lookback ? offset : CONFIG.max_lookback response = playlist.to_json(offset - lookback, locale) json_response = JSON.parse(response) end diff --git a/src/invidious/helpers/helpers.cr b/src/invidious/helpers/helpers.cr index d0556cdc..976d9a5d 100644 --- a/src/invidious/helpers/helpers.cr +++ b/src/invidious/helpers/helpers.cr @@ -73,7 +73,6 @@ class Config property output : String = "STDOUT" # Log file path or STDOUT property log_level : LogLevel = LogLevel::Info # Default log level, valid YAML values are ints and strings, see src/invidious/helpers/logger.cr property db : DBConfig? = nil # Database configuration with separate parameters (username, hostname, etc) - property max_loopback : Int32 = 100 # Maximum videos to be loaded into the playlist before the video playing @[YAML::Field(converter: Preferences::URIConverter)] property database_url : URI = URI.parse("") # Database configuration using 12-Factor "Database URL" syntax @@ -97,6 +96,7 @@ class Config property banner : String? = nil # Optional banner to be displayed along top of page for announcements, etc. property hsts : Bool? = true # Enables 'Strict-Transport-Security'. Ensure that `domain` and all subdomains are served securely property disable_proxy : Bool? | Array(String)? = false # Disable proxying server-wide: options: 'dash', 'livestreams', 'downloads', 'local' + property max_lookback : Int32 = 50 # Maximum videos to be loaded into the playlist before the video playing @[YAML::Field(converter: Preferences::FamilyConverter)] property force_resolve : Socket::Family = Socket::Family::UNSPEC # Connect to YouTube over 'ipv6', 'ipv4'. Will sometimes resolve fix issues with rate-limiting (see https://github.com/ytdl-org/youtube-dl/issues/21729)