Split fmtp on semicolons not spaces as per RFC6871

BUG=4617
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47169004

Cr-Commit-Position: refs/heads/master@{#9193}
diff --git a/webrtc/base/stringencode.cc b/webrtc/base/stringencode.cc
index 52b75da..5662040 100644
--- a/webrtc/base/stringencode.cc
+++ b/webrtc/base/stringencode.cc
@@ -607,6 +607,25 @@
   return tokenize_append(remain_source, delimiter, fields);
 }
 
+bool tokenize_first(const std::string& source, const char delimiter,
+                           std::string* token, std::string* rest) {
+  // Find the first delimiter
+  size_t left_pos = source.find(delimiter);
+  if (left_pos == std::string::npos) {
+    return false;
+  }
+
+  // Look for additional occurrances of delimiter.
+  size_t right_pos = left_pos + 1;
+  while(source[right_pos] == delimiter) {
+    right_pos++;
+  }
+
+  *token = source.substr(0, left_pos);
+  *rest = source.substr(right_pos);
+  return true;
+}
+
 size_t split(const std::string& source, char delimiter,
              std::vector<std::string>* fields) {
   DCHECK(fields);