mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-06-30 09:32:50 +01:00
fix(subtitles): address CodeRabbit review
- Unify external detection: isExternalSubtitle drops the bare-DeliveryUrl case (an Hls-delivered sub has a DeliveryUrl but isn't sub-add-ed) so sorting, loading and resolution agree; compareTracksForMenu now uses it. - applyMpvSubtitleSelection wraps player calls in try/catch — fire-and-forget call sites no longer risk unhandled rejections. - VideoContext offline-transcoded branch: treat missing IsTextSubtitleStream as text (use !isImageBasedSubtitle), matching the shared helper. - ItemContent.tv refreshSubtitleTracks: apply compareTracksForMenu like the initial list. - Tests: use the @/ alias; rework the embedded cases to actually exercise identity (reversed player order) and the ordinal fallback (same-language, no title).
This commit is contained in:
@@ -198,7 +198,9 @@ export const VideoProvider: React.FC<{ children: ReactNode }> = ({
|
||||
// track list (same as online) — robust to the transcoded file's track
|
||||
// structure differing from the original MediaStreams. Order matches web.
|
||||
for (const sub of [...allSubs].sort(compareTracksForMenu)) {
|
||||
if (sub.IsTextSubtitleStream) {
|
||||
// Treat missing IsTextSubtitleStream as text (image-based only when
|
||||
// explicitly false — matches isImageBasedSubtitle).
|
||||
if (!isImageBasedSubtitle(sub)) {
|
||||
subs.push({
|
||||
name: sub.DisplayTitle || "Unknown",
|
||||
index: sub.Index ?? -1,
|
||||
|
||||
Reference in New Issue
Block a user