add param to skipAutoTranscode for mpv

This commit is contained in:
jeffvli
2026-03-31 11:47:55 -07:00
parent 8b4bbc1ede
commit 7d34511039
4 changed files with 19 additions and 8 deletions
@@ -124,10 +124,10 @@ export const MpvPlayerEngine = (props: MpvPlayerEngineProps) => {
if (!radioState.currentStreamUrl) {
const playerData = usePlayerStore.getState().getPlayerData();
const currentSongUrl = playerData.currentSong
? await getSongUrl(playerData.currentSong, transcode)
? await getSongUrl(playerData.currentSong, transcode, true)
: undefined;
const nextSongUrl = playerData.nextSong
? await getSongUrl(playerData.nextSong, transcode)
? await getSongUrl(playerData.nextSong, transcode, true)
: undefined;
if (currentSongUrl && nextSongUrl && !hasPopulatedQueueRef.current && mpvPlayer) {
@@ -281,7 +281,7 @@ export const MpvPlayerEngine = (props: MpvPlayerEngineProps) => {
return;
}
const nextSongUrl = song ? await getSongUrl(song, transcode) : undefined;
const nextSongUrl = song ? await getSongUrl(song, transcode, true) : undefined;
mpvPlayer?.setQueueNext(nextSongUrl);
},
onPlayerPlay: () => {
@@ -346,7 +346,7 @@ async function handleMpvAutoNext(transcode: {
}) {
const playerData = usePlayerStore.getState().getPlayerData();
const nextSongUrl = playerData.nextSong
? await getSongUrl(playerData.nextSong, transcode)
? await getSongUrl(playerData.nextSong, transcode, true)
: undefined;
mpvPlayer?.autoNext(nextSongUrl);
}
@@ -365,10 +365,10 @@ async function replaceMpvQueue(transcode: {
const playerData = usePlayerStore.getState().getPlayerData();
const currentSongUrl = playerData.currentSong
? await getSongUrl(playerData.currentSong, transcode)
? await getSongUrl(playerData.currentSong, transcode, true)
: undefined;
const nextSongUrl = playerData.nextSong
? await getSongUrl(playerData.nextSong, transcode)
? await getSongUrl(playerData.nextSong, transcode, true)
: undefined;
mpvPlayer?.setQueue(currentSongUrl, nextSongUrl, false);
}
@@ -61,13 +61,18 @@ export function useSongUrl(
return shouldReusePrior ? prior.current[1] : queryStreamUrl;
}
export const getSongUrl = async (song: QueueSong, transcode: TranscodingConfig) => {
export const getSongUrl = async (
song: QueueSong,
transcode: TranscodingConfig,
skipAutoTranscode?: boolean,
) => {
const url = await api.controller.getStreamUrl({
apiClientProps: { serverId: song._serverId },
query: {
bitrate: transcode.bitrate,
format: transcode.format,
id: song.id,
skipAutoTranscode,
transcode: transcode.enabled,
},
});