Skip to content

Commit 946d107

Browse files
committed
Fix concurency issuse on local tracks
1 parent 4cd8606 commit 946d107

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

android/src/main/java/io/getstream/webrtc/flutter/MethodCallHandlerImpl.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,13 @@
111111
public class MethodCallHandlerImpl implements MethodCallHandler, StateProvider {
112112
static public final String TAG = "FlutterWebRTCPlugin";
113113

114-
private final Map<String, PeerConnectionObserver> mPeerConnectionObservers = new HashMap<>();
114+
private final Map<String, PeerConnectionObserver> mPeerConnectionObservers = new ConcurrentHashMap<>();
115115
private final BinaryMessenger messenger;
116116
private final Context context;
117117
private final TextureRegistry textures;
118118
private PeerConnectionFactory mFactory;
119-
private final Map<String, MediaStream> localStreams = new HashMap<>();
120-
private final Map<String, LocalTrack> localTracks = new HashMap<>();
119+
private final Map<String, MediaStream> localStreams = new ConcurrentHashMap<>();
120+
private final Map<String, LocalTrack> localTracks = new ConcurrentHashMap<>();
121121
private final LongSparseArray<FlutterRTCVideoRenderer> renders = new LongSparseArray<>();
122122

123123
public RecordSamplesReadyCallbackAdapter recordSamplesReadyCallbackAdapter;
@@ -209,16 +209,13 @@ void dispose() {
209209
* tracks.
210210
*/
211211
private boolean isMicrophoneMuted() {
212-
synchronized (localTracks) {
213-
for (LocalTrack track : localTracks.values()) {
214-
if (track instanceof LocalAudioTrack) {
215-
if (track.enabled()) {
216-
return false;
217-
}
212+
for (LocalTrack track : localTracks.values()) {
213+
if (track instanceof LocalAudioTrack) {
214+
if (track.enabled()) {
215+
return false;
218216
}
219217
}
220218
}
221-
222219
return true;
223220
}
224221

0 commit comments

Comments
 (0)