Fixed crash when PCF is destroyed before RTCRtpSender in ObjC
Bug: webrtc:9231 Change-Id: I3b90400bf619938817d7a04a7a1130ba86ad65df Reviewed-on: https://webrtc-review.googlesource.com/87623 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23896}
This commit is contained in:
committed by
Commit Bot
parent
bd216f2854
commit
ef43aafcf5
@ -386,7 +386,8 @@ void PeerConnectionDelegateAdapter::OnAddTrack(
|
||||
RTCLogError(@"Failed to add track %@: %s", track, nativeSenderOrError.error().message());
|
||||
return nil;
|
||||
}
|
||||
return [[RTCRtpSender alloc] initWithNativeRtpSender:nativeSenderOrError.MoveValue()];
|
||||
return [[RTCRtpSender alloc] initWithFactory:self.factory
|
||||
nativeRtpSender:nativeSenderOrError.MoveValue()];
|
||||
}
|
||||
|
||||
- (BOOL)removeTrack:(RTCRtpSender *)sender {
|
||||
@ -522,8 +523,8 @@ void PeerConnectionDelegateAdapter::OnAddTrack(
|
||||
rtc::scoped_refptr<webrtc::RtpSenderInterface> nativeSender(
|
||||
_peerConnection->CreateSender(nativeKind, nativeStreamId));
|
||||
return nativeSender ?
|
||||
[[RTCRtpSender alloc] initWithNativeRtpSender:nativeSender]
|
||||
: nil;
|
||||
[[RTCRtpSender alloc] initWithFactory:self.factory nativeRtpSender:nativeSender] :
|
||||
nil;
|
||||
}
|
||||
|
||||
- (NSArray<RTCRtpSender *> *)senders {
|
||||
@ -532,7 +533,7 @@ void PeerConnectionDelegateAdapter::OnAddTrack(
|
||||
NSMutableArray *senders = [[NSMutableArray alloc] init];
|
||||
for (const auto &nativeSender : nativeSenders) {
|
||||
RTCRtpSender *sender =
|
||||
[[RTCRtpSender alloc] initWithNativeRtpSender:nativeSender];
|
||||
[[RTCRtpSender alloc] initWithFactory:self.factory nativeRtpSender:nativeSender];
|
||||
[senders addObject:sender];
|
||||
}
|
||||
return senders;
|
||||
|
||||
Reference in New Issue
Block a user