bigbluebutton-Github/bigbluebutton-html5/imports/api/audio/client/bridge
prlanzarin b17ba35238 fix(audio): decouple remote media setup (play) from state callback
Audio state callback and remote media setup both depend on FS's state
(comes through Meteor) and the ICE state (local, peer connection). The
caveat: FS's state can come delayed on reconnection scenarios because
Meteor's websocket generally takes significantly longer to re-connect than
the peer connection, which means the ICE state gets completed way before FS
is flagged as ready.
The practical issue: while outbound audio (client -> FS) will work, inbound
audio (FS -> client) won't _just because it wasn't played_ (even though
data is  coming through).

This commit decouples the remote media setup step from the state
through:
  - Setup remote media when ICE state is completed
  - Run the state callback only after FS is flagged as ready. This
    should maintain the UI states consistent across client-server.
    Keep in mind the assumption that if FS is ready, ICE is completed by
    consequence.
2023-04-11 16:02:20 -03:00
..
base.js fix(audio): retry gUM without pre-set deviceIds on OverconstrainedError(s) 2022-09-15 19:25:30 +00:00
bridge-whitelist.js TEMP 2021-12-09 20:37:05 +00:00
service.js Use the new config option from #15413 - A centralized way of defining which storage to use (Session or Local) 2022-11-03 17:57:54 -03:00
sfu-audio-bridge.js feat: add option to force/extend gathering window in SFU components 2023-04-05 13:22:38 -03:00
sip.js fix(audio): decouple remote media setup (play) from state callback 2023-04-11 16:02:20 -03:00