summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app.rb2
-rw-r--r--public/js/album.js2
-rw-r--r--views/album.erb6
3 files changed, 6 insertions, 4 deletions
diff --git a/app.rb b/app.rb
index ff1e1fa..7d6489a 100644
--- a/app.rb
+++ b/app.rb
@@ -531,7 +531,7 @@ def all_media_entries(top_dirs: nil)
rel = dir.delete_prefix(MEDIA_ROOT).delete_prefix('/')
data = load_album(dir)
next [] if data['visible'] == false && !admin?
- album_files(dir, data).select { |e| %i[image video].include?(e[:type]) }.map do |e|
+ album_files(dir, data).select { |e| %i[image video].include?(e[:type]) && !e[:transcoded_to] }.map do |e|
e.merge(file_rel: rel.empty? ? e[:name] : "#{rel}/#{e[:name]}")
end
end
diff --git a/public/js/album.js b/public/js/album.js
index 3fca29b..17de0b6 100644
--- a/public/js/album.js
+++ b/public/js/album.js
@@ -68,7 +68,7 @@ function renderLightbox() {
img.src = e.src; img.alt = e.title;
img.classList.remove('hidden');
} else if (e.type === 'video') {
- vid.src = e.src;
+ vid.src = e.play_src || e.src;
vid.classList.remove('hidden');
vid.play().catch(() => {});
} else if (e.type === 'audio') {
diff --git a/views/album.erb b/views/album.erb
index 4f261c4..934980b 100644
--- a/views/album.erb
+++ b/views/album.erb
@@ -108,7 +108,9 @@
<script>
const ENTRIES = <%= @entries.map { |e|
file_rel = @rel.empty? ? e[:name] : "#{@rel}/#{e[:name]}"
- e.merge(src: "/media/#{file_rel}")
+ play_name = e[:transcoded_to] || e[:name]
+ play_rel = @rel.empty? ? play_name : "#{@rel}/#{play_name}"
+ e.merge(src: "/media/#{file_rel}", play_src: "/media/#{play_rel}")
}.to_json %>;
</script>
-<script src="/js/album.js?v=6"></script>
+<script src="/js/album.js?v=7"></script>