@@ -519,9 +519,10 @@ - (void)removeLocalVideoTrackDimensionDetection:(RTCVideoTrack *)videoTrack {
519519 RTCAudioTrack *audioTrack = [self .peerConnectionFactory audioTrackWithTrackId: trackUUID];
520520 audioTrack.isEnabled = originalTrack.isEnabled ;
521521 [self .localTracks setObject: audioTrack forKey: trackUUID];
522- for (NSString * streamId in self.localStreams ) {
522+ for (NSString * streamId in [ self .localStreams allKeys ] ) {
523523 RTCMediaStream* stream = [self .localStreams objectForKey: streamId];
524- for (RTCAudioTrack* track in stream.audioTracks ) {
524+ if (stream == nil ) continue ;
525+ for (RTCAudioTrack* track in [stream.audioTracks copy ]) {
525526 if ([trackID isEqualToString: track.trackId]) {
526527 [stream addAudioTrack: audioTrack];
527528 }
@@ -537,9 +538,10 @@ - (void)removeLocalVideoTrackDimensionDetection:(RTCVideoTrack *)videoTrack {
537538 [self addLocalVideoTrackDimensionDetection: videoTrack];
538539
539540 [self .localTracks setObject: videoTrack forKey: trackUUID];
540- for (NSString * streamId in self.localStreams ) {
541+ for (NSString * streamId in [ self .localStreams allKeys ] ) {
541542 RTCMediaStream* stream = [self .localStreams objectForKey: streamId];
542- for (RTCVideoTrack* track in stream.videoTracks ) {
543+ if (stream == nil ) continue ;
544+ for (RTCVideoTrack* track in [stream.videoTracks copy ]) {
543545 if ([trackID isEqualToString: track.trackId]) {
544546 [stream addVideoTrack: videoTrack];
545547 }
0 commit comments