Add didRemoveReceiver delegate callback.

Bug: None
Change-Id: I7d3badc9005f51a641febd359d037ed37a205101
Reviewed-on: https://webrtc-review.googlesource.com/95241
Commit-Queue: Zeke Chin <tkchin@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24391}
This commit is contained in:
Zeke Chin 2018-08-21 11:41:07 -07:00 committed by Commit Bot
parent 01e431951f
commit 8de502ba11
3 changed files with 16 additions and 0 deletions

View File

@ -48,6 +48,8 @@ class PeerConnectionDelegateAdapter : public PeerConnectionObserver {
void OnAddTrack(rtc::scoped_refptr<RtpReceiverInterface> receiver,
const std::vector<rtc::scoped_refptr<MediaStreamInterface>> &streams) override;
void OnRemoveTrack(rtc::scoped_refptr<RtpReceiverInterface> receiver) override;
private:
__weak RTCPeerConnection *peer_connection_;
};

View File

@ -236,6 +236,16 @@ void PeerConnectionDelegateAdapter::OnAddTrack(
}
}
void PeerConnectionDelegateAdapter::OnRemoveTrack(
rtc::scoped_refptr<RtpReceiverInterface> receiver) {
RTCPeerConnection *peer_connection = peer_connection_;
if ([peer_connection.delegate respondsToSelector:@selector(peerConnection:didRemoveReceiver:)]) {
RTCRtpReceiver *rtpReceiver =
[[RTCRtpReceiver alloc] initWithFactory:peer_connection.factory nativeRtpReceiver:receiver];
[peer_connection.delegate peerConnection:peer_connection didRemoveReceiver:rtpReceiver];
}
}
} // namespace webrtc

View File

@ -124,6 +124,10 @@ RTC_EXPORT
didAddReceiver:(RTCRtpReceiver *)rtpReceiver
streams:(NSArray<RTCMediaStream *> *)mediaStreams;
/** Called when the receiver and its track are removed. */
- (void)peerConnection:(RTCPeerConnection *)peerConnection
didRemoveReceiver:(RTCRtpReceiver *)rtpReceiver;
@end
RTC_EXPORT