Repository navigation
Conversation
Details took the server's DefaultAudioStreamIndex while both players pick with selectPreferredAudioStream, so the audio picker and the file info could name a track playback never started on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Build SuccessfulAll platform builds and the test suite passed. You can download the artifacts below.
|
Contributor
|
PR closed due to not being reviewed by submitter |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Summary
This takes out the server-default fallback that c6dd29b kept in Details. Since that commit, Details has preselected the series' remembered audio track and otherwise the server's
DefaultAudioStreamIndex, while both players take the remembered track (resolveSeriesAudio) and otherwiseselectPreferredAudioStream, the picker ported two days earlier in 8eeb0d7. Details now asks that same picker. Kept: the series' remembered track still comes first, and a picker the viewer hasn't touched still sends no index to the player (audioChosenRef), so the player makes its own pick, which is now the one Details shows. Traded: the server's default no longer decides what Details shows, so the Jellyfin profile's Play default audio track stops showing there. The players have ignored it since 8eeb0d7: they only fall back to the server index when the picker returns nothing, and it returns a track for any file with audio. The local Prefer Default Audio Track toggle does that job, and Details now follows it.The two disagreed whenever the server's pick wasn't the preferences' pick. With Catalan and Spanish set and a Japanese-default episode that also has Spanish, Details showed Japanese and playback started in Spanish. With Play default audio track on in the Jellyfin profile, Details showed the file's default track and playback started in the preferred language. The audio picker, the file information (
ModernFileInformation) and the Nouveau footer (NouveauDetailsFooter) all read that selection, so they named a track the player didn't start on. Moonfin-Core's detail screens already use the player's function for this (highlightedAudioIndexinlib/util/detail_track_highlight.dart).This is separate from #468, which changes the picker's order: Details follows whatever the picker decides. In the #418 setup, main shows Japanese in Details and starts in English; this PR alone shows English, and with #468 both are Japanese. It merges cleanly with each of #460, #468 and #469 (checked with
git merge-tree).Related Issues
Type of Change
Changes Made
initialAudio.js:initialAudioPositionreturns where among the audio tracks the player will start: the series' remembered track, elseselectPreferredAudioStreamwith the settings, the same two steps both players take.playback.js:extractAudioStreamsis exported, so Details hands the picker streams in the players' shape. Those carryisDefaultandchannels, which the picker ranks on andfromServerStreamleaves out.useDetailsItem.js: the initial pick uses it in place of the series match andDefaultAudioStreamIndex.Details.js:handleSelectVersionuses it too. It went straight to the new version'sDefaultAudioStreamIndex, so switching version also skipped the series' remembered track.initialAudio.test.js: a fallback-language track beats the file's default, and the series' remembered track beats the preferences. Putting the default track ahead of the preferences fails the first, and putting the preferences ahead of the remembered track fails the second.Subtitles have the same split in Details, but #460 already changes that pick, so I left it alone here.
Platform
Testing
.wgtbuilt off this branch to check on his Samsung TU43DU7105KXXC (Tizen 9). No LG panel here for webOS.enact lint packages/app/srcclean andnpm run lint:cssOK.enact teston this branch, off maina8da917e: 2009 passed, 3 failed. The three (personCredits×2,seerrBadges×1) hardcode US English date and currency output and fail on this machine'sca-ESlocale, unrelated to this change.npm run build:tizenbuilds, and in the built Details chunk both the initial pick and the version switch call the new helper onextractAudioStreamsoutput, with noDefaultAudioStreamIndexleft in Details.Test Steps
Screenshots (if applicable)
None attached. The change is which audio track Details names, which a before and after of the audio button or the file information on the step 2 episode would show. Those have to come from @Kisnov's panel, since there's no TV or desktop build here.
Checklist
npm run build:tizenenact lintclean🤖 Generated with Claude Code