Commit Graph

14 Commits

Author SHA1 Message Date
João Victor
a078060087 removal: remove withTracker from LocalEchoContainer component 2024-05-16 10:22:51 -03:00
André Castro
58a0efe708
Migrate auth and settings to graphQL (#19507) 2024-03-06 14:28:18 -03:00
prlanzarin
1ada7dc57e fix(audio): output device changes not effective in local echo test
Output device changes aren't working in 2.6's echo test when artifical delay
is on due to the fact that the feedback audio is being played via the WebAudio
context rather the the HTMLMediaElement. Since output device change works
via HTMLMediaElement's setSinkId, it's basically a no-op.

This commit fixes the issue by piping the AudioContext destination
through the main audio element rather than using WebAudio directly for
playback. An additional stub media element (muted) is added to circumvent one
of Chrome's WebAudio issue.
The alternative would be to use AudioContext's setSinkId, but it isn't
supported by Firefox (setSinkId enabled) and Chrome < 110.

This should work with FF (setSinkId enabled) and a wide array of Chromium
versions.
2023-03-20 17:38:06 -03:00
Daniel Schreiber
cc21f1598b Copy in fixups from review
thanks @prlanzarin for reviewing:
https://github.com/bigbluebutton/bigbluebutton/pull/16107#pullrequestreview-1241137609
2023-01-23 20:31:53 +01:00
Daniel Schreiber
10c04f4843 audio: add delay for loopback test
If BBB 2.6 is used without headphones, the audio test works differently
than in 2.5. In 2.5 audio traffic is routed to freeswitch and then
returned to the browser. This adds usually some latency which makes it
easy to hear you audio quality. In 2.6 there is a local loopback. As
there is almost no latency, it is either difficult or even impossible to
check your own audio quality as echo cancellation of the browser will
filter out your own signal.

This patch adds a delay node to the audio loopback test, which makes is
easier to check your quality.
2023-01-23 19:54:44 +01:00
prlanzarin
7b76d2e88f fix: change local echo Stop hearing locale to Stop audio feedback 2022-07-13 13:59:49 +00:00
prlanzarin
fba2c88494 fix(audio): make hearing a transient prop in local-echo
Prevents annoying console exceptions in dev mode
2022-07-12 16:37:36 +00:00
Anton B
c71e5c9f74 test: fix all 2.6 tests and temporarily skip inconsistent ones 2022-07-01 17:55:32 -03:00
Arthurk12
1d677b1263 feat(microphone): UI tweaks about echo test button 2022-04-29 19:07:08 +00:00
prlanzarin
e0bda16c06 refactor(audio): linter pass over local echo/volume meter
Address linter warnings before any further changes in that area
2022-04-18 20:05:26 +00:00
prlanzarin
bae731e59e fix(audio): PC loopback workaround for local echo in Chrome
Works around the fact that Chrome doesnt have AEC on streams that dont go through PCs
2022-04-13 14:37:39 +00:00
prlanzarin
1e37924e41 refactor(audio): local echo initial hearing state is configurable, ...
public.media.showVolumeMeterInSettings => public.media.showVolumeMeter

public.media.simplifiedEchoTest => public.media.localEchoTest.enabled

Initial hearing state can be configured in public.media.localEchoTest.initialHearingState
2022-04-11 21:04:08 +00:00
prlanzarin
17e5d95d7a refactor(audio): clean unused code in local echo/volume code 2022-04-11 19:40:16 +00:00
prlanzarin
d6c7f23a0e feat(audio): local echo test and audio energy meter
New features:
  - A simplified echo test mode that only does a local loopback (instead of
  going to FS and back)
  - A volume meter for microphone streams to the AudioSettings view

Those two features are experimental and disabled by default; see
public.app.media.simplifiedEchoTest and public.app.media.showVolumeMeter configs

Collateral changes:
  - fix: localize fallback device strings in AudioSettings/DeviceSelector
  - Refactor on some media stream utils to be re-usable across components
  - Refactor in AudioSettings to keep gUM #uses stable.
    * TODO: need to pass streams through AudioManager to avoid the surplus gUM.
  - fix(audio): drop ScriptProcessorNode usage (deprecated)
    * Used in volume meter for tracking - use hark instead
2022-04-11 19:21:56 +00:00