|
|
@@ -135,8 +135,11 @@ function _addConferenceListeners(conference, dispatch, state) {
|
|
135
|
135
|
|
|
136
|
136
|
// Remove the tracks from peerconnection as well.
|
|
137
|
137
|
for (const track of localTracks) {
|
|
138
|
|
- if ((audioMuted && track.jitsiTrack.getType() === MEDIA_TYPE.AUDIO)
|
|
139
|
|
- || (videoMuted && track.jitsiTrack.getType() === MEDIA_TYPE.VIDEO)) {
|
|
|
138
|
+ const trackType = track.jitsiTrack.getType();
|
|
|
139
|
+
|
|
|
140
|
+ // Do not remove the audio track on RN. Starting with iOS 15 it will fail to unmute otherwise.
|
|
|
141
|
+ if ((audioMuted && trackType === MEDIA_TYPE.AUDIO && navigator.product !== 'ReactNative')
|
|
|
142
|
+ || (videoMuted && trackType === MEDIA_TYPE.VIDEO)) {
|
|
140
|
143
|
dispatch(replaceLocalTrack(track.jitsiTrack, null, conference));
|
|
141
|
144
|
}
|
|
142
|
145
|
}
|