Fix a bug in the SDP parser in AppRTCMobile.

It would leave a trailing carriage return character in the payload
list, causing the preferred codec to appear twice if it was at the
back of the list originally. This causes problems down the line and
results in that codec not being negotiated successfully.

BUG=webrtc:8129

Review-Url: https://codereview.webrtc.org/3001363002
Cr-Original-Commit-Position: refs/heads/master@{#19552}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 6644c8b7337abcf4bb91d8658a056c9bce0f8dfe
diff --git a/examples/objc/AppRTCMobile/ARDSDPUtils.m b/examples/objc/AppRTCMobile/ARDSDPUtils.m
index 016829e..a9442aa 100644
--- a/examples/objc/AppRTCMobile/ARDSDPUtils.m
+++ b/examples/objc/AppRTCMobile/ARDSDPUtils.m
@@ -19,7 +19,7 @@
     descriptionForDescription:(RTCSessionDescription *)description
           preferredVideoCodec:(NSString *)codec {
   NSString *sdpString = description.sdp;
-  NSString *lineSeparator = @"\n";
+  NSString *lineSeparator = @"\r\n";
   NSString *mLineSeparator = @" ";
   // Copied from PeerConnectionClient.java.
   // TODO(tkchin): Move this to a shared C++ file.
diff --git a/examples/objc/AppRTCMobile/tests/ARDSDPUtils_xctest.mm b/examples/objc/AppRTCMobile/tests/ARDSDPUtils_xctest.mm
index b58048f..b94f404 100644
--- a/examples/objc/AppRTCMobile/tests/ARDSDPUtils_xctest.mm
+++ b/examples/objc/AppRTCMobile/tests/ARDSDPUtils_xctest.mm
@@ -21,31 +21,31 @@
 @implementation ARDSDPUtilsTest
 
 - (void)testPreferVideoCodecH264 {
-  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\n"
-                    "a=rtpmap:120 H264/90000\n"
-                    "a=rtpmap:97 H264/90000\n");
-  NSString *expectedSdp = @("m=video 9 RTP/SAVPF 120 97 100 116 117 96\n"
-                            "a=rtpmap:120 H264/90000\n"
-                            "a=rtpmap:97 H264/90000\n");
+  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\r\n"
+                    "a=rtpmap:120 H264/90000\r\n"
+                    "a=rtpmap:97 H264/90000\r\n");
+  NSString *expectedSdp = @("m=video 9 RTP/SAVPF 120 97 100 116 117 96\r\n"
+                            "a=rtpmap:120 H264/90000\r\n"
+                            "a=rtpmap:97 H264/90000\r\n");
   [self preferVideoCodec:@"H264" sdp:sdp expected:expectedSdp];
 }
 
 - (void)testPreferVideoCodecVP8 {
-  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\n"
-                    "a=rtpmap:116 VP8/90000\n");
-  NSString *expectedSdp = @("m=video 9 RTP/SAVPF 116 100 117 96 120 97\n"
-                            "a=rtpmap:116 VP8/90000\n");
+  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\r\n"
+                    "a=rtpmap:116 VP8/90000\r\n");
+  NSString *expectedSdp = @("m=video 9 RTP/SAVPF 116 100 117 96 120 97\r\n"
+                            "a=rtpmap:116 VP8/90000\r\n");
   [self preferVideoCodec:@"VP8" sdp:sdp expected:expectedSdp];
 }
 
 - (void)testNoMLine {
-  NSString *sdp = @("a=rtpmap:116 VP8/90000\n");
+  NSString *sdp = @("a=rtpmap:116 VP8/90000\r\n");
   [self preferVideoCodec:@"VP8" sdp:sdp expected:sdp];
 }
 
 - (void)testMissingCodec {
-  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\n"
-                    "a=rtpmap:116 VP8/90000\n");
+  NSString *sdp = @("m=video 9 RTP/SAVPF 100 116 117 96 120 97\r\n"
+                    "a=rtpmap:116 VP8/90000\r\n");
   [self preferVideoCodec:@"foo" sdp:sdp expected:sdp];
 }