mirror of
https://github.com/iv-org/invidious.git
synced 2025-08-06 21:44:54 -04:00
Merge branch 'master' of https://github.com/omarroth/invidious
This commit is contained in:
commit
c0e73e71c5
7 changed files with 601 additions and 335 deletions
|
@ -1128,21 +1128,21 @@ post "/preferences" do |env|
|
|||
listen = listen == "on"
|
||||
|
||||
speed = env.params.body["speed"]?.try &.as(String).to_f?
|
||||
speed ||= 1.0
|
||||
speed ||= DEFAULT_USER_PREFERENCES.speed
|
||||
|
||||
quality = env.params.body["quality"]?.try &.as(String)
|
||||
quality ||= "hd720"
|
||||
quality ||= DEFAULT_USER_PREFERENCES.quality
|
||||
|
||||
volume = env.params.body["volume"]?.try &.as(String).to_i?
|
||||
volume ||= 100
|
||||
volume ||= DEFAULT_USER_PREFERENCES.volume
|
||||
|
||||
comments_0 = env.params.body["comments_0"]?.try &.as(String) || "youtube"
|
||||
comments_1 = env.params.body["comments_1"]?.try &.as(String) || ""
|
||||
comments_0 = env.params.body["comments_0"]?.try &.as(String) || DEFAULT_USER_PREFERENCES.comments[0]
|
||||
comments_1 = env.params.body["comments_1"]?.try &.as(String) || DEFAULT_USER_PREFERENCES.comments[1]
|
||||
comments = [comments_0, comments_1]
|
||||
|
||||
captions_0 = env.params.body["captions_0"]?.try &.as(String) || ""
|
||||
captions_1 = env.params.body["captions_1"]?.try &.as(String) || ""
|
||||
captions_2 = env.params.body["captions_2"]?.try &.as(String) || ""
|
||||
captions_0 = env.params.body["captions_0"]?.try &.as(String) || DEFAULT_USER_PREFERENCES.captions[0]
|
||||
captions_1 = env.params.body["captions_1"]?.try &.as(String) || DEFAULT_USER_PREFERENCES.captions[1]
|
||||
captions_2 = env.params.body["captions_2"]?.try &.as(String) || DEFAULT_USER_PREFERENCES.captions[2]
|
||||
captions = [captions_0, captions_1, captions_2]
|
||||
|
||||
related_videos = env.params.body["related_videos"]?.try &.as(String)
|
||||
|
@ -1154,7 +1154,7 @@ post "/preferences" do |env|
|
|||
redirect_feed = redirect_feed == "on"
|
||||
|
||||
locale = env.params.body["locale"]?.try &.as(String)
|
||||
locale ||= "en-US"
|
||||
locale ||= DEFAULT_USER_PREFERENCES.locale
|
||||
|
||||
dark_mode = env.params.body["dark_mode"]?.try &.as(String)
|
||||
dark_mode ||= "off"
|
||||
|
@ -1165,10 +1165,10 @@ post "/preferences" do |env|
|
|||
thin_mode = thin_mode == "on"
|
||||
|
||||
max_results = env.params.body["max_results"]?.try &.as(String).to_i?
|
||||
max_results ||= 40
|
||||
max_results ||= DEFAULT_USER_PREFERENCES.max_results
|
||||
|
||||
sort = env.params.body["sort"]?.try &.as(String)
|
||||
sort ||= "published"
|
||||
sort ||= DEFAULT_USER_PREFERENCES.sort
|
||||
|
||||
latest_only = env.params.body["latest_only"]?.try &.as(String)
|
||||
latest_only ||= "off"
|
||||
|
|
|
@ -79,36 +79,36 @@ class Preferences
|
|||
autoplay: Bool,
|
||||
continue: {
|
||||
type: Bool,
|
||||
default: false,
|
||||
default: DEFAULT_USER_PREFERENCES.continue,
|
||||
},
|
||||
listen: {
|
||||
type: Bool,
|
||||
default: false,
|
||||
default: DEFAULT_USER_PREFERENCES.listen,
|
||||
},
|
||||
speed: Float32,
|
||||
quality: String,
|
||||
volume: Int32,
|
||||
comments: {
|
||||
type: Array(String),
|
||||
default: ["youtube", ""],
|
||||
default: DEFAULT_USER_PREFERENCES.comments,
|
||||
converter: StringToArray,
|
||||
},
|
||||
captions: {
|
||||
type: Array(String),
|
||||
default: ["", "", ""],
|
||||
default: DEFAULT_USER_PREFERENCES.captions,
|
||||
},
|
||||
redirect_feed: {
|
||||
type: Bool,
|
||||
default: false,
|
||||
default: DEFAULT_USER_PREFERENCES.redirect_feed,
|
||||
},
|
||||
related_videos: {
|
||||
type: Bool,
|
||||
default: true,
|
||||
default: DEFAULT_USER_PREFERENCES.related_videos,
|
||||
},
|
||||
dark_mode: Bool,
|
||||
thin_mode: {
|
||||
type: Bool,
|
||||
default: false,
|
||||
default: DEFAULT_USER_PREFERENCES.thin_mode,
|
||||
},
|
||||
max_results: Int32,
|
||||
sort: String,
|
||||
|
@ -116,11 +116,11 @@ class Preferences
|
|||
unseen_only: Bool,
|
||||
notifications_only: {
|
||||
type: Bool,
|
||||
default: false,
|
||||
default: DEFAULT_USER_PREFERENCES.notifications_only,
|
||||
},
|
||||
locale: {
|
||||
type: String,
|
||||
default: "en-US",
|
||||
default: DEFAULT_USER_PREFERENCES.locale,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
|
|
@ -633,6 +633,10 @@ def fetch_video(id, proxies, region)
|
|||
end
|
||||
end
|
||||
|
||||
if info["errorcode"]?.try &.== "2"
|
||||
raise "Video unavailable."
|
||||
end
|
||||
|
||||
title = info["title"]
|
||||
author = info["author"]
|
||||
ucid = info["ucid"]
|
||||
|
@ -741,14 +745,14 @@ def process_video_params(query, preferences)
|
|||
volume ||= preferences.volume
|
||||
end
|
||||
|
||||
autoplay ||= 0
|
||||
continue ||= 0
|
||||
listen ||= 0
|
||||
preferred_captions ||= [] of String
|
||||
quality ||= "hd720"
|
||||
speed ||= 1
|
||||
video_loop ||= 0
|
||||
volume ||= 100
|
||||
autoplay ||= DEFAULT_USER_PREFERENCES.autoplay.to_unsafe
|
||||
continue ||= DEFAULT_USER_PREFERENCES.continue.to_unsafe
|
||||
listen ||= DEFAULT_USER_PREFERENCES.listen.to_unsafe
|
||||
preferred_captions ||= DEFAULT_USER_PREFERENCES.captions
|
||||
quality ||= DEFAULT_USER_PREFERENCES.quality
|
||||
speed ||= DEFAULT_USER_PREFERENCES.speed
|
||||
video_loop ||= DEFAULT_USER_PREFERENCES.video_loop.to_unsafe
|
||||
volume ||= DEFAULT_USER_PREFERENCES.volume
|
||||
|
||||
autoplay = autoplay == 1
|
||||
continue = continue == 1
|
||||
|
|
|
@ -115,37 +115,25 @@ var player = videojs("player", options, function() {
|
|||
});
|
||||
|
||||
player.on('error', function(event) {
|
||||
if (player.error().code === 2) {
|
||||
console.log("An error occured in the player, reloading...");
|
||||
if (player.error().code === 2 || player.error().code === 4) {
|
||||
setInterval(setTimeout(function (event) {
|
||||
console.log("An error occured in the player, reloading...");
|
||||
|
||||
var currentTime = player.currentTime();
|
||||
var playbackRate = player.playbackRate();
|
||||
player.load();
|
||||
if (currentTime > 0.5) {
|
||||
currentTime -= 0.5;
|
||||
}
|
||||
player.currentTime(currentTime);
|
||||
player.playbackRate(playbackRate);
|
||||
player.play()
|
||||
} else if (player.error().code === 4) {
|
||||
console.log("Detected invalid source, removing...");
|
||||
var currentTime = player.currentTime();
|
||||
var sources = player.options().sources;
|
||||
var currentTime = player.currentTime();
|
||||
var playbackRate = player.playbackRate();
|
||||
var paused = player.paused()
|
||||
|
||||
for (var i = 0; i < sources.length; i++) {
|
||||
if (sources[i].src === player.currentSource().src) {
|
||||
sources.splice(i, 1);
|
||||
break
|
||||
player.load();
|
||||
if (currentTime > 0.5) {
|
||||
currentTime -= 0.5;
|
||||
}
|
||||
};
|
||||
|
||||
player.load();
|
||||
if (currentTime > 0.5) {
|
||||
currentTime -= 0.5;
|
||||
}
|
||||
player.currentTime(currentTime);
|
||||
player.src(sources);
|
||||
player.play();
|
||||
player.currentTime(currentTime);
|
||||
player.playbackRate(playbackRate);
|
||||
|
||||
if (!paused) {
|
||||
player.play();
|
||||
}
|
||||
}, 5000), 5000);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% if preferences && preferences.related_videos || plid %>
|
||||
<% if !preferences || preferences && preferences.related_videos || plid %>
|
||||
<div class="pure-u-1 pure-u-md-1-5">
|
||||
<% if plid %>
|
||||
<div id="playlist" class="h-box">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue