|
447 | 447 | ' VIDEO CODEC DETECTION (per container) |
448 | 448 | ' ======================================== |
449 | 449 | ' |
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"] |
458 | 465 | containerVideoCodecs = {} |
459 | 466 |
|
460 | 467 | for each container in transcodingContainers |
|
0 commit comments