mirror of
https://git.nadeko.net/Fijxu/invidious.git
synced 2026-02-05 05:27:05 +00:00
Add annotation preferences
This commit is contained in:
@@ -241,6 +241,28 @@ VIDEO_FORMATS = {
|
||||
"251" => {"ext" => "webm", "format" => "DASH audio", "acodec" => "opus", "abr" => 160},
|
||||
}
|
||||
|
||||
struct VideoPreferences
|
||||
json_mapping({
|
||||
annotations: Bool,
|
||||
autoplay: Bool,
|
||||
continue: Bool,
|
||||
continue_autoplay: Bool,
|
||||
controls: Bool,
|
||||
listen: Bool,
|
||||
local: Bool,
|
||||
preferred_captions: Array(String),
|
||||
quality: String,
|
||||
raw: Bool,
|
||||
region: String?,
|
||||
related_videos: Bool,
|
||||
speed: (Float32 | Float64),
|
||||
video_end: (Float64 | Int32),
|
||||
video_loop: Bool,
|
||||
video_start: (Float64 | Int32),
|
||||
volume: Int32,
|
||||
})
|
||||
end
|
||||
|
||||
struct Video
|
||||
property player_json : JSON::Any?
|
||||
|
||||
@@ -1199,6 +1221,7 @@ def itag_to_metadata?(itag : String)
|
||||
end
|
||||
|
||||
def process_video_params(query, preferences)
|
||||
annotations = query["iv_load_policy"]?.try &.to_i?
|
||||
autoplay = query["autoplay"]?.try &.to_i?
|
||||
continue = query["continue"]?.try &.to_i?
|
||||
continue_autoplay = query["continue_autoplay"]?.try &.to_i?
|
||||
@@ -1214,6 +1237,7 @@ def process_video_params(query, preferences)
|
||||
|
||||
if preferences
|
||||
# region ||= preferences.region
|
||||
annotations ||= preferences.annotations.to_unsafe
|
||||
autoplay ||= preferences.autoplay.to_unsafe
|
||||
continue ||= preferences.continue.to_unsafe
|
||||
continue_autoplay ||= preferences.continue_autoplay.to_unsafe
|
||||
@@ -1227,6 +1251,7 @@ def process_video_params(query, preferences)
|
||||
volume ||= preferences.volume
|
||||
end
|
||||
|
||||
annotations ||= CONFIG.default_user_preferences.annotations.to_unsafe
|
||||
autoplay ||= CONFIG.default_user_preferences.autoplay.to_unsafe
|
||||
continue ||= CONFIG.default_user_preferences.continue.to_unsafe
|
||||
continue_autoplay ||= CONFIG.default_user_preferences.continue_autoplay.to_unsafe
|
||||
@@ -1239,6 +1264,7 @@ def process_video_params(query, preferences)
|
||||
video_loop ||= CONFIG.default_user_preferences.video_loop.to_unsafe
|
||||
volume ||= CONFIG.default_user_preferences.volume
|
||||
|
||||
annotations = annotations == 1
|
||||
autoplay = autoplay == 1
|
||||
continue = continue == 1
|
||||
continue_autoplay = continue_autoplay == 1
|
||||
@@ -1272,24 +1298,25 @@ def process_video_params(query, preferences)
|
||||
controls ||= 1
|
||||
controls = controls >= 1
|
||||
|
||||
params = {
|
||||
autoplay: autoplay,
|
||||
continue: continue,
|
||||
continue_autoplay: continue_autoplay,
|
||||
controls: controls,
|
||||
listen: listen,
|
||||
local: local,
|
||||
params = VideoPreferences.new(
|
||||
annotations: annotations,
|
||||
autoplay: autoplay,
|
||||
continue: continue,
|
||||
continue_autoplay: continue_autoplay,
|
||||
controls: controls,
|
||||
listen: listen,
|
||||
local: local,
|
||||
preferred_captions: preferred_captions,
|
||||
quality: quality,
|
||||
raw: raw,
|
||||
region: region,
|
||||
related_videos: related_videos,
|
||||
speed: speed,
|
||||
video_end: video_end,
|
||||
video_loop: video_loop,
|
||||
video_start: video_start,
|
||||
volume: volume,
|
||||
}
|
||||
quality: quality,
|
||||
raw: raw,
|
||||
region: region,
|
||||
related_videos: related_videos,
|
||||
speed: speed,
|
||||
video_end: video_end,
|
||||
video_loop: video_loop,
|
||||
video_start: video_start,
|
||||
volume: volume,
|
||||
)
|
||||
|
||||
return params
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user