frigate/web/src
jacobwtyler 1ddf562024 Fix echo feedback loop during two-way audio (talkback)
When using two-way audio, the camera mic picks up speaker audio and
sends it back through RTSP → go2rtc → WebRTC → phone speaker, creating
an echo feedback loop.

Two changes working together:

1. Half-duplex echo suppression: mute receive audio while mic is active.
   This is the standard approach used by camera talkback implementations.

2. Obtain mic track once, reuse across toggles: instead of rebuilding
   the PeerConnection on every mic toggle, the mic track is obtained
   once on first activation and reused. Subsequent toggles just flip
   track.enabled. This is critical for iOS where getUserMedia triggers
   audio routing mode switches that cannot be reversed without closing
   the PeerConnection.
2026-03-15 17:28:43 -05:00
..
api Replace react-tracked and react-use-websocket with useSyncExternalStore (#22386) 2026-03-11 09:02:51 -05:00
components Fix echo feedback loop during two-way audio (talkback) 2026-03-15 17:28:43 -05:00
context Update frontend to React 19 (#22275) 2026-03-05 07:42:38 -07:00
hooks UI tweaks and fixes (#22448) 2026-03-15 07:26:23 -05:00
lib UI tweaks and fixes (#22448) 2026-03-15 07:26:23 -05:00
pages UI tweaks and fixes (#22448) 2026-03-15 07:26:23 -05:00
types UI tweaks (#22405) 2026-03-12 16:57:42 -06:00
utils Frontend fixes (#22309) 2026-03-07 06:43:00 -07:00
views UI tweaks and fixes (#22448) 2026-03-15 07:26:23 -05:00
App.tsx Frontend fixes (#22309) 2026-03-07 06:43:00 -07:00
env.ts Fix linter and fix lint issues (#10141) 2024-02-28 16:23:56 -06:00
index.css Improve live streaming (#16447) 2025-02-10 09:42:35 -07:00
login.tsx Fix auth when serving Frigate at a subpath (#12815) 2024-08-09 07:26:26 -06:00
main.tsx feat: add i18n (translation/localization) (#16877) 2025-03-16 10:36:20 -05:00
vite-env.d.ts switch to vite 2022-03-11 07:49:06 -06:00