summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious/routes/video_playback.cr8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/invidious/routes/video_playback.cr b/src/invidious/routes/video_playback.cr
index 1e932d11..9641e01a 100644
--- a/src/invidious/routes/video_playback.cr
+++ b/src/invidious/routes/video_playback.cr
@@ -256,7 +256,7 @@ module Invidious::Routes::VideoPlayback
return error_template(400, "Invalid video ID")
end
- if itag.nil? || itag <= 0 || itag >= 1000
+ if !itag.nil? && (itag <= 0 || itag >= 1000)
return error_template(400, "Invalid itag")
end
@@ -277,7 +277,11 @@ module Invidious::Routes::VideoPlayback
return error_template(500, ex)
end
- fmt = video.fmt_stream.find(nil) { |f| f["itag"].as_i == itag } || video.adaptive_fmts.find(nil) { |f| f["itag"].as_i == itag }
+ if itag.nil?
+ fmt = video.fmt_stream[-1]?
+ else
+ fmt = video.fmt_stream.find(nil) { |f| f["itag"].as_i == itag } || video.adaptive_fmts.find(nil) { |f| f["itag"].as_i == itag }
+ end
url = fmt.try &.["url"]?.try &.as_s
if !url