mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-06-14 09:50:23 +01:00
feat(player): enable language-based track selection on mobile
This commit is contained in:
@@ -73,12 +73,16 @@ export const DownloadItems: React.FC<DownloadProps> = ({
|
|||||||
SelectedOptions | undefined
|
SelectedOptions | undefined
|
||||||
>(undefined);
|
>(undefined);
|
||||||
|
|
||||||
|
const playSettingsOptions = useMemo(
|
||||||
|
() => ({ applyLanguagePreferences: true }),
|
||||||
|
[],
|
||||||
|
);
|
||||||
const {
|
const {
|
||||||
defaultAudioIndex,
|
defaultAudioIndex,
|
||||||
defaultBitrate,
|
defaultBitrate,
|
||||||
defaultMediaSource,
|
defaultMediaSource,
|
||||||
defaultSubtitleIndex,
|
defaultSubtitleIndex,
|
||||||
} = useDefaultPlaySettings(items[0], settings);
|
} = useDefaultPlaySettings(items[0], settings, playSettingsOptions);
|
||||||
|
|
||||||
const userCanDownload = useMemo(
|
const userCanDownload = useMemo(
|
||||||
() => user?.Policy?.EnableContentDownloading,
|
() => user?.Policy?.EnableContentDownloading,
|
||||||
|
|||||||
@@ -75,12 +75,20 @@ const ItemContentMobile: React.FC<ItemContentProps> = ({
|
|||||||
>(undefined);
|
>(undefined);
|
||||||
|
|
||||||
// Use itemWithSources for play settings since it has MediaSources data
|
// Use itemWithSources for play settings since it has MediaSources data
|
||||||
|
const playSettingsOptions = useMemo(
|
||||||
|
() => ({ applyLanguagePreferences: true }),
|
||||||
|
[],
|
||||||
|
);
|
||||||
const {
|
const {
|
||||||
defaultAudioIndex,
|
defaultAudioIndex,
|
||||||
defaultBitrate,
|
defaultBitrate,
|
||||||
defaultMediaSource,
|
defaultMediaSource,
|
||||||
defaultSubtitleIndex,
|
defaultSubtitleIndex,
|
||||||
} = useDefaultPlaySettings(itemWithSources ?? item, settings);
|
} = useDefaultPlaySettings(
|
||||||
|
itemWithSources ?? item,
|
||||||
|
settings,
|
||||||
|
playSettingsOptions,
|
||||||
|
);
|
||||||
|
|
||||||
const logoUrl = useMemo(
|
const logoUrl = useMemo(
|
||||||
() => (item ? getLogoImageUrlById({ api, item }) : null),
|
() => (item ? getLogoImageUrlById({ api, item }) : null),
|
||||||
|
|||||||
@@ -339,10 +339,15 @@ export const Controls: FC<Props> = ({
|
|||||||
mediaSource: newMediaSource,
|
mediaSource: newMediaSource,
|
||||||
audioIndex: defaultAudioIndex,
|
audioIndex: defaultAudioIndex,
|
||||||
subtitleIndex: defaultSubtitleIndex,
|
subtitleIndex: defaultSubtitleIndex,
|
||||||
} = getDefaultPlaySettings(item, settings, {
|
} = getDefaultPlaySettings(
|
||||||
indexes: previousIndexes,
|
item,
|
||||||
source: mediaSource ?? undefined,
|
settings,
|
||||||
});
|
{
|
||||||
|
indexes: previousIndexes,
|
||||||
|
source: mediaSource ?? undefined,
|
||||||
|
},
|
||||||
|
{ applyLanguagePreferences: true },
|
||||||
|
);
|
||||||
|
|
||||||
const queryParams = new URLSearchParams({
|
const queryParams = new URLSearchParams({
|
||||||
...(offline && { offline: "true" }),
|
...(offline && { offline: "true" }),
|
||||||
|
|||||||
Reference in New Issue
Block a user