diff options
| author | Brahim Hadriche <brahim.hadriche@gmail.com> | 2023-02-09 15:00:23 -0500 |
|---|---|---|
| committer | Brahim Hadriche <brahim.hadriche@gmail.com> | 2023-02-09 15:00:23 -0500 |
| commit | d57d278f32e94d2bec75ffbc3c7bf28e6cb7638d (patch) | |
| tree | ba58b1965db004844597d3d861f363717be41039 | |
| parent | d6dd341594cc837001ed57cbea3103d22c9988c1 (diff) | |
| download | invidious-d57d278f32e94d2bec75ffbc3c7bf28e6cb7638d.tar.gz invidious-d57d278f32e94d2bec75ffbc3c7bf28e6cb7638d.tar.bz2 invidious-d57d278f32e94d2bec75ffbc3c7bf28e6cb7638d.zip | |
Make itag optional under /latest_version
| -rw-r--r-- | src/invidious/routes/video_playback.cr | 8 |
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..f24c0ded 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 |
