From 28ab2747ceb07a8638c7abdf22564cf3646ef545 Mon Sep 17 00:00:00 2001 From: wukko Date: Sun, 22 Jun 2025 16:21:37 +0600 Subject: [PATCH] api/match-action: support forced local processing --- api/src/processing/match-action.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/api/src/processing/match-action.js b/api/src/processing/match-action.js index f8cc39a9..0d65234c 100644 --- a/api/src/processing/match-action.js +++ b/api/src/processing/match-action.js @@ -20,7 +20,7 @@ export default function({ requestIP, audioBitrate, alwaysProxy, - localProcessing + localProcessing, }) { let action, responseType = "tunnel", @@ -242,15 +242,20 @@ export default function({ defaultParams.filename += `.${audioFormat}`; } - if (alwaysProxy && responseType === "redirect") { + if ((alwaysProxy || localProcessing === "forced") && responseType === "redirect") { responseType = "tunnel"; params.type = "proxy"; } // TODO: add support for HLS // (very painful) - if (localProcessing && !params.isHLS && extraProcessingTypes.includes(params.type)) { - responseType = "local-processing"; + if (!params.isHLS) { + const isPreferredWithExtra = + localProcessing === "preferred" && extraProcessingTypes.includes(params.type); + + if (localProcessing === "forced" || isPreferredWithExtra) { + responseType = "local-processing"; + } } // extractors usually return ISO 639-1 language codes,