From 14f6b8da26ef0aa6707b232a0cfc7fe4a44a50a2 Mon Sep 17 00:00:00 2001
From: brawliscool <181055418+brawliscool@users.noreply.github.com>
Date: Tue, 2 Jun 2026 15:25:34 -0500
Subject: [PATCH] fix: show readable audio bitrate labels
---
spec/invidious/helpers_spec.cr | 8 ++++++++
src/invidious/frontend/watch_page.cr | 2 +-
src/invidious/helpers/utils.cr | 8 ++++++++
src/invidious/views/components/player.ecr | 4 ++--
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/spec/invidious/helpers_spec.cr b/spec/invidious/helpers_spec.cr
index 9fbb6d6f..5d9dbb9b 100644
--- a/spec/invidious/helpers_spec.cr
+++ b/spec/invidious/helpers_spec.cr
@@ -53,4 +53,12 @@ Spectator.describe "Helper" do
expect(sign_token("SECRET_KEY", token)).to eq(token["signature"])
end
end
+
+ describe "#audio_bitrate_label" do
+ it "formats bitrates as kilobit labels" do
+ expect(audio_bitrate_label(128000)).to eq("128k")
+ expect(audio_bitrate_label(50000)).to eq("50k")
+ expect(audio_bitrate_label(JSON::Any.new(160000_i64))).to eq("160k")
+ end
+ end
end
diff --git a/src/invidious/frontend/watch_page.cr b/src/invidious/frontend/watch_page.cr
index 2f640e8c..5167a866 100644
--- a/src/invidious/frontend/watch_page.cr
+++ b/src/invidious/frontend/watch_page.cr
@@ -88,7 +88,7 @@ module Invidious::Frontend::WatchPage
value = {"itag": option["itag"], "ext": mimetype.split("/")[1]}.to_json
str << "\t\t\t\n"
end
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr
index 7a262f84..c45d8798 100644
--- a/src/invidious/helpers/utils.cr
+++ b/src/invidious/helpers/utils.cr
@@ -202,6 +202,14 @@ def number_to_short_text(number)
text
end
+def audio_bitrate_label(bitrate : Int) : String
+ "#{bitrate // 1000}k"
+end
+
+def audio_bitrate_label(bitrate : JSON::Any) : String
+ audio_bitrate_label(bitrate.as_i)
+end
+
def arg_array(array, start = 1)
if array.size == 0
args = "NULL"
diff --git a/src/invidious/views/components/player.ecr b/src/invidious/views/components/player.ecr
index fbd472e0..24d59fb7 100644
--- a/src/invidious/views/components/player.ecr
+++ b/src/invidious/views/components/player.ecr
@@ -28,12 +28,12 @@
src_url = invidious_companion.public_url.to_s + src_url +
"&check=#{invidious_companion_check_id}" if (invidious_companion)
- bitrate = fmt["bitrate"]
+ bitrate = audio_bitrate_label(fmt["bitrate"])
mimetype = HTML.escape(fmt["mimeType"].as_s)
selected = (i == best_m4a_stream_index)
%>
-
+
<% if !params.local && !CONFIG.disabled?("local") %>
<% end %>