Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(356)

Unified Diff: webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm

Issue 2641923003: Create an Obj-C wrapper of the RtpReceiverObserverInterface. (Closed)
Patch Set: CR comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver+Private.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
index 46c0e6544a4259e17cd87cca6ad2dd44a6ab2953..ee10005f8b7aa39eab0edf8752e3da21cb96299d 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
@@ -17,10 +17,31 @@
#include "webrtc/api/mediastreaminterface.h"
+namespace webrtc {
+
+RtpReceiverDelegateAdapter::RtpReceiverDelegateAdapter(
+ RTCRtpReceiver *receiver) {
+ RTC_CHECK(receiver);
+ receiver_ = receiver;
+}
+
+void RtpReceiverDelegateAdapter::OnFirstPacketReceived(
+ cricket::MediaType media_type) {
+ RTCRtpMediaType packet_media_type =
+ [RTCRtpReceiver mediaTypeForNativeMediaType:media_type];
+ RTCRtpReceiver *receiver = receiver_;
+ [receiver.delegate rtpReceiver:receiver didReceiveFirstPacketForMediaType:packet_media_type];
+}
+
+} // namespace webrtc
+
@implementation RTCRtpReceiver {
rtc::scoped_refptr<webrtc::RtpReceiverInterface> _nativeRtpReceiver;
+ std::unique_ptr<webrtc::RtpReceiverDelegateAdapter> _observer;
}
+@synthesize delegate = _delegate;
+
- (NSString *)receiverId {
return [NSString stringForStdString:_nativeRtpReceiver->id()];
}
@@ -81,8 +102,22 @@
_nativeRtpReceiver = nativeRtpReceiver;
RTCLogInfo(
@"RTCRtpReceiver(%p): created receiver: %@", self, self.description);
+ _observer.reset(new webrtc::RtpReceiverDelegateAdapter(self));
+ _nativeRtpReceiver->SetObserver(_observer.get());
}
return self;
}
++ (RTCRtpMediaType)mediaTypeForNativeMediaType:
+ (cricket::MediaType)nativeMediaType {
+ switch (nativeMediaType) {
+ case cricket::MEDIA_TYPE_AUDIO:
+ return RTCRtpMediaTypeAudio;
+ case cricket::MEDIA_TYPE_VIDEO:
+ return RTCRtpMediaTypeVideo;
+ case cricket::MEDIA_TYPE_DATA:
+ return RTCRtpMediaTypeData;
+ }
+}
+
@end
« no previous file with comments | « no previous file | webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver+Private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698