Added OnAddTrack to Objective C SDK.
Exposed native OnAddTrack event in Objective C SDK peer connection delegate via peerConnection:didAddReceiver:streams: Bug: webrtc:6112 Change-Id: Iccf33ab7844c9a774a6b54e49de011d100998f03 Reviewed-on: https://webrtc-review.googlesource.com/56980 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22253}
This commit is contained in:
committed by
Commit Bot
parent
832b1c80d4
commit
546d7f98a5
@ -51,6 +51,9 @@ class PeerConnectionDelegateAdapter : public PeerConnectionObserver {
|
||||
void OnIceCandidatesRemoved(
|
||||
const std::vector<cricket::Candidate>& candidates) override;
|
||||
|
||||
void OnAddTrack(rtc::scoped_refptr<RtpReceiverInterface> receiver,
|
||||
const std::vector<rtc::scoped_refptr<MediaStreamInterface>>& streams) override;
|
||||
|
||||
private:
|
||||
__weak RTCPeerConnection *peer_connection_;
|
||||
};
|
||||
|
||||
@ -215,6 +215,25 @@ void PeerConnectionDelegateAdapter::OnIceCandidatesRemoved(
|
||||
didRemoveIceCandidates:ice_candidates];
|
||||
}
|
||||
|
||||
void PeerConnectionDelegateAdapter::OnAddTrack(
|
||||
rtc::scoped_refptr<RtpReceiverInterface> receiver,
|
||||
const std::vector<rtc::scoped_refptr<MediaStreamInterface>>& streams) {
|
||||
RTCPeerConnection *peer_connection = peer_connection_;
|
||||
if ([peer_connection.delegate
|
||||
respondsToSelector:@selector(peerConnection:didAddReceiver:streams:)]) {
|
||||
NSMutableArray *mediaStreams = [NSMutableArray arrayWithCapacity:streams.size()];
|
||||
for (const auto& nativeStream : streams) {
|
||||
RTCMediaStream *mediaStream = [[RTCMediaStream alloc] initWithNativeMediaStream:nativeStream];
|
||||
[mediaStreams addObject:mediaStream];
|
||||
}
|
||||
RTCRtpReceiver *rtpReceiver = [[RTCRtpReceiver alloc] initWithNativeRtpReceiver:receiver];
|
||||
|
||||
[peer_connection.delegate peerConnection:peer_connection
|
||||
didAddReceiver:rtpReceiver
|
||||
streams:mediaStreams];
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user