ew8bak 957c3c1761 feat(web): страница говорит, что звука нет из-за отсутствия libopus
libopus грузится динамически и объявлен необязательным: `LoadOpus` при
отсутствии библиотеки молча возвращает False, `FOpusReady` остаётся сброшен,
`PushAudio` выходит первой же строкой, а микрофон из браузера не декодируется
(гейт по `Assigned(FOpusDec)`). Снаружи это выглядело как немой приёмник без
единого намёка на причину — тем более что браузер при этом бодро пишет
«Opus ready»: WASM-декодер тянется с CDN и к серверу отношения не имеет.

В state-JSON добавлено поле `opus` = FOpusReady. Флаг ставится один раз в Start
до запуска потоков и дальше не меняется, поэтому читается без FStateLock.

На странице по `opus:false` поднимается баннер «No audio — libopus is not
installed on the server» со второй строкой о том, что молчат и приём, и
микрофон. Клик закрывает баннер насовсем (`opusWarnHidden`): состояние
рассылается по нескольку раз в секунду, и без флага закрытый баннер возвращался
бы на следующем же кадре.

Заодно оверлей «Click to start audio» в этом случае не показывается вовсе —
AudioContext поднимать не для чего, оверлей только вводил бы в заблуждение.

Проверено живьём: демон с системной libopus отдаёт `"opus":true`, он же с
подложной битой `libopus.so.0` в LD_LIBRARY_PATH — `"opus":false`, JSON целиком
парсится. Логику баннера прогнал на заглушке DOM, JS страницы проверен
`node --check`. В настоящем браузере баннер ещё не видели.
2026-08-26 09:17:42 +03:00
2026-08-25 22:44:36 +03:00
2026-03-09 18:48:24 +03:00
2026-07-15 10:21:23 +03:00
2026-08-25 22:44:36 +03:00
2026-08-25 22:44:36 +03:00
2026-03-09 18:48:24 +03:00

EWSDR

Russian version

EWSDR is a cross-platform SDR transceiver application for OpenHPSDR and PlutoSDR devices. It is written in Free Pascal using Lazarus and supports Linux, Windows, and macOS.

Building

See BUILD.MD for build instructions.

License

This project is licensed under the GNU General Public License v2.0.

S
Description
No description provided
Readme GPL-2.0
12 MiB
Languages
Pascal 96.4%
Python 2.9%
Shell 0.6%