Return correct subtype from RTCRtpSender/Receiver track.

Bug: webrtc:8915
Change-Id: Iaa004d5d3e055cdaa08daf57b662b6711ead681d
Reviewed-on: https://webrtc-review.googlesource.com/56661
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22155}
diff --git a/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm b/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm
index 208550f..5c1b5a3 100644
--- a/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm
+++ b/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm
@@ -8,7 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
+#import "RTCAudioTrack+Private.h"
 #import "RTCMediaStreamTrack+Private.h"
+#import "RTCVideoTrack+Private.h"
 
 #import "NSString+StdString.h"
 
@@ -134,4 +136,18 @@
   }
 }
 
++ (RTCMediaStreamTrack *)mediaTrackForNativeTrack:
+        (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack {
+  NSParameterAssert(nativeTrack);
+  if (nativeTrack->kind() == webrtc::MediaStreamTrackInterface::kAudioKind) {
+    return
+        [[RTCAudioTrack alloc] initWithNativeTrack:nativeTrack type:RTCMediaStreamTrackTypeAudio];
+  } else if (nativeTrack->kind() == webrtc::MediaStreamTrackInterface::kVideoKind) {
+    return
+        [[RTCVideoTrack alloc] initWithNativeTrack:nativeTrack type:RTCMediaStreamTrackTypeVideo];
+  } else {
+    return [[RTCMediaStreamTrack alloc] initWithNativeTrack:nativeTrack];
+  }
+}
+
 @end