diff --git a/public/script.js b/public/script.js index 490563f..e08c561 100644 --- a/public/script.js +++ b/public/script.js @@ -65,10 +65,11 @@ function handleFile(file) { updateSearchBar(); if (defaultTo) { - const selector = defaultConverter - ? `.target[data-value="${defaultTo},${defaultConverter}"]` - : `.target[data-target="${defaultTo}"]`; - const targetBtn = document.querySelector(selector); + const targetBtn = Array.from(document.querySelectorAll(".target")).find((t) => + defaultConverter + ? t.dataset.target === defaultTo && t.dataset.converter === defaultConverter + : t.dataset.target === defaultTo, + ); if (targetBtn) { const convertToEl = document.querySelector("select[name='convert_to']"); const convertToInputEl = document.querySelector("input[name='convert_to_search']"); diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index f0418f4..f9d2f63 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -710,8 +710,9 @@ export async function convert( } if (convertTo === "wav-3cx") { - // 3CX telephony preset: mono, 8 kHz, 16-bit PCM - extraArgs.push("-ac", "1", "-ar", "8000", "-sample_fmt", "s16"); + // 3CX telephony preset: mono, 8 kHz, 16-bit PCM (pcm_s16le is explicit to + // avoid FFMPEG_OUTPUT_ARGS overriding the codec and breaking 3CX playback) + extraArgs.push("-ac", "1", "-ar", "8000", "-c:a", "pcm_s16le"); } if (convertTo.split(".").length > 1) {