fix(ios) create audio track early

In iOS 15 we observe that not creating the audio track early may result in not
getting audio after unmuting for the first time.

Creating the audio track early means the first unmute doesn't need to add the
track to the conference, resulting in a much faster operation.

Note that creating the track early doesn't mean we will start unmuted, the track
will be muted.
This commit is contained in:
Saúl Ibarra Corretgé 2021-09-24 11:01:33 +02:00 committed by Saúl Ibarra Corretgé
parent 68de35357e
commit 35e363577c
1 changed files with 5 additions and 2 deletions

View File

@ -55,9 +55,12 @@ export function createDesiredLocalTracks(...desiredTypes) {
dispatch(destroyLocalDesktopTrackIfExists());
if (desiredTypes.length === 0) {
const { audio, video } = state['features/base/media'];
const { video } = state['features/base/media'];
audio.muted || desiredTypes.push(MEDIA_TYPE.AUDIO);
// XXX: Always create the audio track early, even if it will be muted.
// This fixes a timing issue when adding the track to the conference which
// manifests primarily on iOS 15.
desiredTypes.push(MEDIA_TYPE.AUDIO);
// XXX When the app is coming into the foreground from the
// background in order to handle a URL, it may realize the new