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 %>