Added the API to create an RTCRtpSender to the Objective C wrapper.

Objective C applications can now create new RTCRtpSenders and change their tracks, which gives them more fine grained control than MediaStreams.

BUG=

Review-Url: https://codereview.webrtc.org/1888633002
Cr-Commit-Position: refs/heads/master@{#12570}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
index 7103002..3d413dc 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
@@ -10,8 +10,10 @@
 
 #import "RTCRtpSender+Private.h"
 
+#import "NSString+StdString.h"
 #import "RTCMediaStreamTrack+Private.h"
 #import "RTCRtpParameters+Private.h"
+#import "WebRTC/RTCLogging.h"
 
 #include "webrtc/api/mediastreaminterface.h"
 
@@ -21,19 +23,28 @@
 
 - (instancetype)initWithNativeRtpSender:
     (rtc::scoped_refptr<webrtc::RtpSenderInterface>)nativeRtpSender {
+  NSParameterAssert(nativeRtpSender);
   if (self = [super init]) {
     _nativeRtpSender = nativeRtpSender;
+    RTCLogInfo(@"RTCRtpSender(%p): created sender: %@", self, self.description);
   }
   return self;
 }
 
+- (NSString *)senderId {
+  return [NSString stringForStdString:_nativeRtpSender->id()];
+}
+
 - (RTCRtpParameters *)parameters {
   return [[RTCRtpParameters alloc]
       initWithNativeParameters:_nativeRtpSender->GetParameters()];
 }
 
-- (BOOL)setParameters:(RTCRtpParameters *)parameters {
-  return _nativeRtpSender->SetParameters(parameters.nativeParameters);
+- (void)setParameters:(RTCRtpParameters *)parameters {
+  if (!_nativeRtpSender->SetParameters(parameters.nativeParameters)) {
+    RTCLogError(@"RTCRtpSender(%p): Failed to set parameters: %@", self,
+        parameters);
+  }
 }
 
 - (RTCMediaStreamTrack *)track {
@@ -45,4 +56,15 @@
   return nil;
 }
 
+- (void)setTrack:(RTCMediaStreamTrack *)track {
+  if (!_nativeRtpSender->SetTrack(track.nativeTrack)) {
+    RTCLogError(@"RTCRtpSender(%p): Failed to set track %@", self, track);
+  }
+}
+
+- (NSString *)description {
+  return [NSString stringWithFormat:@"RTCRtpSender {\n  senderId: %@\n}",
+      self.senderId];
+}
+
 @end