unarr/internal/cmd
Deivid Soto 9176e877eb
Some checks failed
Release / release (push) Failing after 0s
Release / docker (push) Has been skipped
Release / virustotal (push) Failing after 0s
fix(hls): clamp ffmpeg bitrate to the level we derive from outputHeight
Asking for 2160p quality on a 720p source kept the daemon's qcap.VideoBitrate
at 25 Mbps even after outputHeight was clamped to the source. The level
H264LevelForHeight picks for the 720p output is 3.1 / 4.0, which rejects any
VBV >20 Mbps — libx264 then exited with "VBV bitrate (25000) > level limit"
on every restart, ffmpeg auto-restarted 3 times, master.m3u8 never appeared,
and the player got stuck at "Preparando sesión".

Re-derive the (height, bitrate) cap from the EFFECTIVE outputHeight via the
new capForHeight helper. Result: 720p source asked for 2160p → outputs 720p
with the 3500 kbps bitrate the level actually accepts. ffmpeg runs cleanly,
master.m3u8 appears, playback starts.

The web also clamps effectiveQuality to source resolution before the session
row is written, so the daemon mostly receives sane labels. This change keeps
the daemon defensive against (a) older web clients that still ask for
upscaled qualities, and (b) future quality="original" requests where qcap
is empty and Transcode.VideoBitrate could overshoot the level too.
2026-05-26 16:00:18 +02:00
..
agent_client.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
auth_browser.go feat(init): add 60s countdown, skip key, and cancel detection to browser auth 2026-03-30 14:07:57 +02:00
auth_browser_test.go feat(auth): browser-based CLI authentication (like Claude Code) 2026-03-29 17:53:18 +02:00
clean.go fix(lint): use default:none to disable errcheck, fix all gofmt and exhaustive 2026-03-31 00:29:16 +02:00
clean_test.go fix(lint): use default:none to disable errcheck, fix all gofmt and exhaustive 2026-03-31 00:29:16 +02:00
completion.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
completion_helpers.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
config_menu.go feat(library): add server-driven file deletion with allow_delete config 2026-04-10 16:35:12 +02:00
config_menu_test.go feat(cli): upgrade command, rich status, and version cache 2026-03-31 22:05:43 +02:00
daemon.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
daemon_control.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
daemon_install.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
daemon_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
doctor.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
doctor_unix.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
doctor_windows.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
download.go feat(torrent): act as WebTorrent peer for browser ↔ unarr P2P streaming 2026-05-06 08:59:58 +02:00
download_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
helpers.go fix(security): CORS allowlist, URL scheme guard, state perms, ZIP slip, mirror docs 2026-05-15 18:48:59 +02:00
helpers_test.go fix(security): CORS allowlist, URL scheme guard, state perms, ZIP slip, mirror docs 2026-05-15 18:48:59 +02:00
init.go feat(cli): add login command and refactor shared helpers 2026-04-01 12:20:51 +02:00
inspect.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
login.go feat(cli): add login command and refactor shared helpers 2026-04-01 12:20:51 +02:00
migrate.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
mirrors.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
popular.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
probe_hwaccel.go feat(transcode): dynamic H.264 level + HW probe + capability reporting 2026-05-08 15:57:02 +02:00
recent.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
reload_unix.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
reload_windows.go feat(daemon): enhance service management with start, stop, restart, and status commands for Windows 2026-04-10 19:18:13 +02:00
root.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
scan.go feat(scan): always scan downloads + organize dirs, deduplicate child paths 2026-04-10 11:46:20 +02:00
search.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
seed_file_handler.go feat(seed-file): unarr-side handler for browser-on-demand seeding (Fase 4.7.c) 2026-05-06 16:28:01 +02:00
self_update.go fix(security): UPnP opt-in, bounded SSE reader, signed self-update 2026-05-15 17:29:22 +02:00
stats.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
status.go feat(agent): add mirror failover, agent client refactor, status 401 detection 2026-05-15 16:26:43 +02:00
stream.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
stream_handler.go fix(stream): fix black screen on remote/Tailscale streaming 2026-04-09 16:15:41 +02:00
stream_test.go test: add comprehensive test suite for engine, agent and cmd packages 2026-04-08 23:36:00 +02:00
upgrade.go fix(security): UPnP opt-in, bounded SSE reader, signed self-update 2026-05-15 17:29:22 +02:00
version.go fix(hls): clamp ffmpeg bitrate to the level we derive from outputHeight 2026-05-26 16:00:18 +02:00
version_cmd.go docs: improve CLI help, shell completion, and README 2026-03-28 21:36:27 +01:00
vpn.go feat(vpn): unarr vpn command + report/arbitrate the WireGuard slot 2026-05-22 08:33:02 +02:00
watch.go chore: rename module from torrentclaw-cli to unarr 2026-03-30 13:06:07 +02:00
webrtc_session_registry.go feat(stream): real-time transcoding for non-browser-decodable codecs 2026-05-07 09:26:05 +02:00