Sync subtitle and audio indexes between server and offline

This commit is contained in:
Alex Kim
2026-02-19 18:23:45 +11:00
parent 9f9d949891
commit af50b023ef
6 changed files with 131 additions and 36 deletions

View File

@@ -302,9 +302,16 @@ export const PlayButton: React.FC<Props> = ({
// If already in offline mode, play downloaded file directly
if (isOffline && downloadedItem) {
const isTranscoded = downloadedItem.userData?.isTranscoded === true;
const queryParams = new URLSearchParams({
itemId: item.Id!,
offline: "true",
audioIndex: isTranscoded
? (downloadedItem.userData?.audioStreamIndex?.toString() ?? "")
: (selectedOptions.audioIndex?.toString() ?? ""),
subtitleIndex: isTranscoded
? (downloadedItem.userData?.subtitleStreamIndex?.toString() ?? "-1")
: (selectedOptions.subtitleIndex?.toString() ?? "-1"),
playbackPosition:
item.UserData?.PlaybackPositionTicks?.toString() ?? "0",
});
@@ -331,9 +338,19 @@ export const PlayButton: React.FC<Props> = ({
<Button
onPress={() => {
hideModal();
const isTranscoded =
downloadedItem.userData?.isTranscoded === true;
const queryParams = new URLSearchParams({
itemId: item.Id!,
offline: "true",
audioIndex: isTranscoded
? (downloadedItem.userData?.audioStreamIndex?.toString() ??
"")
: (selectedOptions.audioIndex?.toString() ?? ""),
subtitleIndex: isTranscoded
? (downloadedItem.userData?.subtitleStreamIndex?.toString() ??
"-1")
: (selectedOptions.subtitleIndex?.toString() ?? "-1"),
playbackPosition:
item.UserData?.PlaybackPositionTicks?.toString() ?? "0",
});
@@ -374,9 +391,19 @@ export const PlayButton: React.FC<Props> = ({
{
text: t("player.downloaded_file_yes"),
onPress: () => {
const isTranscoded =
downloadedItem.userData?.isTranscoded === true;
const queryParams = new URLSearchParams({
itemId: item.Id!,
offline: "true",
audioIndex: isTranscoded
? (downloadedItem.userData?.audioStreamIndex?.toString() ??
"")
: (selectedOptions.audioIndex?.toString() ?? ""),
subtitleIndex: isTranscoded
? (downloadedItem.userData?.subtitleStreamIndex?.toString() ??
"-1")
: (selectedOptions.subtitleIndex?.toString() ?? "-1"),
playbackPosition:
item.UserData?.PlaybackPositionTicks?.toString() ?? "0",
});