Skip to content

Commit 647ae30

Browse files
chore(docs): update code docs
1 parent 1fe56f9 commit 647ae30

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

docs/source_utils_deviceCapabilities.bs.html

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -447,14 +447,21 @@
447447
' VIDEO CODEC DETECTION (per container)
448448
' ========================================
449449
'
450-
' Container preference order: mp4 (HLS-fmp4) first, then ts (HLS-mpegts). This
451-
' matches the official Jellyfin Roku app and the original jellyfin-roku fork parent.
452-
' The order matters because Jellyfin's StreamBuilder picks FirstOrDefault when
453-
' profile ranks tie — mp4-first unlocks the wider HLS audio target set
454-
' (alac/flac/opus/dts/truehd in addition to aac/ac3/eac3/mp3) for surround
455-
' transcoding scenarios where the user's hardware passthrough is detected only
456-
' for a codec that's TS-incompatible (issue #573).
457-
transcodingContainers = ["mp4", "ts"]
450+
' Container preference order: ts (HLS-mpegts) first, then mp4 (HLS-fmp4). One
451+
' video transcoding profile is emitted PER container, in this array order, just
452+
' below — so this order IS the emitted profile order, and Jellyfin's StreamBuilder
453+
' picks FirstOrDefault when profile ranks tie. ts-first => the server prefers an
454+
' mpegts-HLS transcode, which is what Roku reliably plays audio for.
455+
'
456+
' Do NOT flip this to mp4-first. fmp4-HLS transcodes produce silent audio on some
457+
' Roku hardware (issue #573 regression: stereo files that played under mpegts went
458+
' silent under fmp4). Upstream jellyfin-roku declares ["mp4","ts"] but only uses
459+
' that loop to accumulate per-container codec strings — it emits its ts video
460+
' profile BEFORE its mp4 one, i.e. ts-first, the same as here. The #573 empty-codec
461+
' fix lives in buildVideoTranscodingAudioCodecsForContainer (always leads with aac,
462+
' never empty) and optimizeAudioCodecListForSource — it does not depend on container
463+
' order, so this stays ts-first.
464+
transcodingContainers = ["ts", "mp4"]
458465
containerVideoCodecs = {}
459466

460467
for each container in transcodingContainers

0 commit comments

Comments
 (0)