summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious.cr1
-rw-r--r--src/invidious/views/components/player.ecr3
-rw-r--r--src/invidious/views/components/player_sources.ecr4
-rw-r--r--src/invidious/views/preferences.ecr2
4 files changed, 8 insertions, 2 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index bc85bb74..f49a40a8 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -2822,7 +2822,6 @@ get "/api/v1/playlists/:plid" do |env|
page = env.params.query["page"]?.try &.to_i?
page ||= 1
-
begin
playlist = fetch_playlist(plid)
videos = fetch_playlist_videos(plid, page, playlist.video_count)
diff --git a/src/invidious/views/components/player.ecr b/src/invidious/views/components/player.ecr
index 34df55c3..8b9e92da 100644
--- a/src/invidious/views/components/player.ecr
+++ b/src/invidious/views/components/player.ecr
@@ -11,6 +11,9 @@
<source src="<%= fmt["url"] %>" type='<%= fmt["type"] %>' label="<%= fmt["bitrate"] %>k" selected="<%= i == 0 ? true : false %>">
<% end %>
<% else %>
+ <% if params[:quality] == "dash" %>
+ <source src="/api/manifest/dash/id/<%= video.id %>?local=true" type='application/dash+xml' label="dash">
+ <% end %>
<% fmt_stream.each_with_index do |fmt, i| %>
<% if params[:quality] %>
<source src="<%= fmt["url"] %>" type='<%= fmt["type"] %>' label="<%= fmt["label"] %>" selected="<%= params[:quality] == fmt["label"].split(" - ")[0] %>">
diff --git a/src/invidious/views/components/player_sources.ecr b/src/invidious/views/components/player_sources.ecr
index f50d16cf..3afce6cb 100644
--- a/src/invidious/views/components/player_sources.ecr
+++ b/src/invidious/views/components/player_sources.ecr
@@ -8,4 +8,8 @@
<script src="/js/videojs-markers.min.js"></script>
<script src="/js/videojs-share.min.js"></script>
<script src="/js/videojs-http-streaming.min.js"></script>
+<% if env.get?("user") && env.get("user").as(User).preferences.quality == "dash" %>
+<script src="/js/dash.mediaplayer.min.js"></script>
+<script src="/js/videojs-dash.min.js"></script>
<script src="/js/videojs-contrib-quality-levels.min.js"></script>
+<% end %> \ No newline at end of file
diff --git a/src/invidious/views/preferences.ecr b/src/invidious/views/preferences.ecr
index cdd2eb42..aa70e4dc 100644
--- a/src/invidious/views/preferences.ecr
+++ b/src/invidious/views/preferences.ecr
@@ -35,7 +35,7 @@ function update_value(element) {
<div class="pure-control-group">
<label for="quality">Preferred video quality: </label>
<select name="quality" id="quality">
- <% {"hd720", "medium", "small"}.each do |option| %>
+ <% {"dash", "hd720", "medium", "small"}.each do |option| %>
<option <% if user.preferences.quality == option %> selected <% end %>><%= option %></option>
<% end %>
</select>