| Index: talk/app/webrtc/webrtcsdp.cc
|
| diff --git a/talk/app/webrtc/webrtcsdp.cc b/talk/app/webrtc/webrtcsdp.cc
|
| index 28d4e9e8b156dcf9b71f935df7a0ae2952a9db2d..99f8a79ac9016d949c3dd732ebaef4ef4520b679 100644
|
| --- a/talk/app/webrtc/webrtcsdp.cc
|
| +++ b/talk/app/webrtc/webrtcsdp.cc
|
| @@ -1125,16 +1125,17 @@ bool ParseSctpPort(const std::string& line,
|
| // draft-ietf-mmusic-sctp-sdp-07
|
| // a=sctp-port
|
| std::vector<std::string> fields;
|
| - rtc::split(line.substr(kLinePrefixLength),
|
| - kSdpDelimiterSpace, &fields);
|
| const size_t expected_min_fields = 2;
|
| + rtc::split(line.substr(kLinePrefixLength), kSdpDelimiterColon, &fields);
|
| + if (fields.size() < expected_min_fields) {
|
| + fields.resize(0);
|
| + rtc::split(line.substr(kLinePrefixLength), kSdpDelimiterSpace, &fields);
|
| + }
|
| if (fields.size() < expected_min_fields) {
|
| return ParseFailedExpectMinFieldNum(line, expected_min_fields, error);
|
| }
|
| if (!rtc::FromString(fields[1], sctp_port)) {
|
| - return ParseFailed(line,
|
| - "Invalid sctp port value.",
|
| - error);
|
| + return ParseFailed(line, "Invalid sctp port value.", error);
|
| }
|
| return true;
|
| }
|
| @@ -1348,6 +1349,8 @@ void BuildMediaDescription(const ContentInfo* content_info,
|
| void BuildSctpContentAttributes(std::string* message, int sctp_port) {
|
| // draft-ietf-mmusic-sctp-sdp-04
|
| // a=sctpmap:sctpmap-number protocol [streams]
|
| + // TODO(lally): switch this over to mmusic-sctp-sdp-12 (or later), with
|
| + // 'a=sctp-port:'
|
| std::ostringstream os;
|
| InitAttrLine(kAttributeSctpmap, &os);
|
| os << kSdpDelimiterColon << sctp_port << kSdpDelimiterSpace
|
|
|