Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: talk/app/webrtc/webrtcsdp.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « talk/app/webrtc/videosource.cc ('k') | talk/app/webrtc/webrtcsdp_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // types. 224 // types.
225 const int kWildcardPayloadType = -1; 225 const int kWildcardPayloadType = -1;
226 226
227 struct SsrcInfo { 227 struct SsrcInfo {
228 SsrcInfo() 228 SsrcInfo()
229 : msid_identifier(kDefaultMsid), 229 : msid_identifier(kDefaultMsid),
230 // TODO(ronghuawu): What should we do if the appdata doesn't appear? 230 // TODO(ronghuawu): What should we do if the appdata doesn't appear?
231 // Create random string (which will be used as track label later)? 231 // Create random string (which will be used as track label later)?
232 msid_appdata(rtc::CreateRandomString(8)) { 232 msid_appdata(rtc::CreateRandomString(8)) {
233 } 233 }
234 uint32 ssrc_id; 234 uint32_t ssrc_id;
235 std::string cname; 235 std::string cname;
236 std::string msid_identifier; 236 std::string msid_identifier;
237 std::string msid_appdata; 237 std::string msid_appdata;
238 238
239 // For backward compatibility. 239 // For backward compatibility.
240 // TODO(ronghuawu): Remove below 2 fields once all the clients support msid. 240 // TODO(ronghuawu): Remove below 2 fields once all the clients support msid.
241 std::string label; 241 std::string label;
242 std::string mslabel; 242 std::string mslabel;
243 }; 243 };
244 typedef std::vector<SsrcInfo> SsrcInfoVec; 244 typedef std::vector<SsrcInfo> SsrcInfoVec;
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 return false; 518 return false;
519 519
520 return true; 520 return true;
521 } 521 }
522 522
523 static bool HasAttribute(const std::string& line, 523 static bool HasAttribute(const std::string& line,
524 const std::string& attribute) { 524 const std::string& attribute) {
525 return (line.compare(kLinePrefixLength, attribute.size(), attribute) == 0); 525 return (line.compare(kLinePrefixLength, attribute.size(), attribute) == 0);
526 } 526 }
527 527
528 static bool AddSsrcLine(uint32 ssrc_id, const std::string& attribute, 528 static bool AddSsrcLine(uint32_t ssrc_id,
529 const std::string& value, std::string* message) { 529 const std::string& attribute,
530 const std::string& value,
531 std::string* message) {
530 // RFC 5576 532 // RFC 5576
531 // a=ssrc:<ssrc-id> <attribute>:<value> 533 // a=ssrc:<ssrc-id> <attribute>:<value>
532 std::ostringstream os; 534 std::ostringstream os;
533 InitAttrLine(kAttributeSsrc, &os); 535 InitAttrLine(kAttributeSsrc, &os);
534 os << kSdpDelimiterColon << ssrc_id << kSdpDelimiterSpace 536 os << kSdpDelimiterColon << ssrc_id << kSdpDelimiterSpace
535 << attribute << kSdpDelimiterColon << value; 537 << attribute << kSdpDelimiterColon << value;
536 return AddLine(os.str(), message); 538 return AddLine(os.str(), message);
537 } 539 }
538 540
539 // Get value only from <attribute>:<value>. 541 // Get value only from <attribute>:<value>.
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 (fields[6] != kAttributeCandidateTyp)) { 999 (fields[6] != kAttributeCandidateTyp)) {
998 return ParseFailedExpectMinFieldNum(first_line, expected_min_fields, error); 1000 return ParseFailedExpectMinFieldNum(first_line, expected_min_fields, error);
999 } 1001 }
1000 const std::string& foundation = fields[0]; 1002 const std::string& foundation = fields[0];
1001 1003
1002 int component_id = 0; 1004 int component_id = 0;
1003 if (!GetValueFromString(first_line, fields[1], &component_id, error)) { 1005 if (!GetValueFromString(first_line, fields[1], &component_id, error)) {
1004 return false; 1006 return false;
1005 } 1007 }
1006 const std::string& transport = fields[2]; 1008 const std::string& transport = fields[2];
1007 uint32 priority = 0; 1009 uint32_t priority = 0;
1008 if (!GetValueFromString(first_line, fields[3], &priority, error)) { 1010 if (!GetValueFromString(first_line, fields[3], &priority, error)) {
1009 return false; 1011 return false;
1010 } 1012 }
1011 const std::string& connection_address = fields[4]; 1013 const std::string& connection_address = fields[4];
1012 int port = 0; 1014 int port = 0;
1013 if (!GetValueFromString(first_line, fields[5], &port, error)) { 1015 if (!GetValueFromString(first_line, fields[5], &port, error)) {
1014 return false; 1016 return false;
1015 } 1017 }
1016 SocketAddress address(connection_address, port); 1018 SocketAddress address(connection_address, port);
1017 1019
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 } 1073 }
1072 } 1074 }
1073 1075
1074 // Extension 1076 // Extension
1075 // Empty string as the candidate username and password. 1077 // Empty string as the candidate username and password.
1076 // Will be updated later with the ice-ufrag and ice-pwd. 1078 // Will be updated later with the ice-ufrag and ice-pwd.
1077 // TODO: Remove the username/password extension, which is currently 1079 // TODO: Remove the username/password extension, which is currently
1078 // kept for backwards compatibility. 1080 // kept for backwards compatibility.
1079 std::string username; 1081 std::string username;
1080 std::string password; 1082 std::string password;
1081 uint32 generation = 0; 1083 uint32_t generation = 0;
1082 for (size_t i = current_position; i + 1 < fields.size(); ++i) { 1084 for (size_t i = current_position; i + 1 < fields.size(); ++i) {
1083 // RFC 5245 1085 // RFC 5245
1084 // *(SP extension-att-name SP extension-att-value) 1086 // *(SP extension-att-name SP extension-att-value)
1085 if (fields[i] == kAttributeCandidateGeneration) { 1087 if (fields[i] == kAttributeCandidateGeneration) {
1086 if (!GetValueFromString(first_line, fields[++i], &generation, error)) { 1088 if (!GetValueFromString(first_line, fields[++i], &generation, error)) {
1087 return false; 1089 return false;
1088 } 1090 }
1089 } else if (fields[i] == kAttributeCandidateUsername) { 1091 } else if (fields[i] == kAttributeCandidateUsername) {
1090 username = fields[++i]; 1092 username = fields[++i];
1091 } else if (fields[i] == kAttributeCandidatePassword) { 1093 } else if (fields[i] == kAttributeCandidatePassword) {
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1434 // Build the ssrc-group lines. 1436 // Build the ssrc-group lines.
1435 for (size_t i = 0; i < track->ssrc_groups.size(); ++i) { 1437 for (size_t i = 0; i < track->ssrc_groups.size(); ++i) {
1436 // RFC 5576 1438 // RFC 5576
1437 // a=ssrc-group:<semantics> <ssrc-id> ... 1439 // a=ssrc-group:<semantics> <ssrc-id> ...
1438 if (track->ssrc_groups[i].ssrcs.empty()) { 1440 if (track->ssrc_groups[i].ssrcs.empty()) {
1439 continue; 1441 continue;
1440 } 1442 }
1441 std::ostringstream os; 1443 std::ostringstream os;
1442 InitAttrLine(kAttributeSsrcGroup, &os); 1444 InitAttrLine(kAttributeSsrcGroup, &os);
1443 os << kSdpDelimiterColon << track->ssrc_groups[i].semantics; 1445 os << kSdpDelimiterColon << track->ssrc_groups[i].semantics;
1444 std::vector<uint32>::const_iterator ssrc = 1446 std::vector<uint32_t>::const_iterator ssrc =
1445 track->ssrc_groups[i].ssrcs.begin(); 1447 track->ssrc_groups[i].ssrcs.begin();
1446 for (; ssrc != track->ssrc_groups[i].ssrcs.end(); ++ssrc) { 1448 for (; ssrc != track->ssrc_groups[i].ssrcs.end(); ++ssrc) {
1447 os << kSdpDelimiterSpace << rtc::ToString<uint32>(*ssrc); 1449 os << kSdpDelimiterSpace << rtc::ToString<uint32_t>(*ssrc);
1448 } 1450 }
1449 AddLine(os.str(), message); 1451 AddLine(os.str(), message);
1450 } 1452 }
1451 // Build the ssrc lines for each ssrc. 1453 // Build the ssrc lines for each ssrc.
1452 for (size_t i = 0; i < track->ssrcs.size(); ++i) { 1454 for (size_t i = 0; i < track->ssrcs.size(); ++i) {
1453 uint32 ssrc = track->ssrcs[i]; 1455 uint32_t ssrc = track->ssrcs[i];
1454 // RFC 5576 1456 // RFC 5576
1455 // a=ssrc:<ssrc-id> cname:<value> 1457 // a=ssrc:<ssrc-id> cname:<value>
1456 AddSsrcLine(ssrc, kSsrcAttributeCname, 1458 AddSsrcLine(ssrc, kSsrcAttributeCname,
1457 track->cname, message); 1459 track->cname, message);
1458 1460
1459 // draft-alvestrand-mmusic-msid-00 1461 // draft-alvestrand-mmusic-msid-00
1460 // a=ssrc:<ssrc-id> msid:identifier [appdata] 1462 // a=ssrc:<ssrc-id> msid:identifier [appdata]
1461 // The appdata consists of the "id" attribute of a MediaStreamTrack, which 1463 // The appdata consists of the "id" attribute of a MediaStreamTrack, which
1462 // is corresponding to the "name" attribute of StreamParams. 1464 // is corresponding to the "name" attribute of StreamParams.
1463 std::string appdata = track->id; 1465 std::string appdata = track->id;
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 2629
2628 // Create tracks from the |ssrc_infos|. 2630 // Create tracks from the |ssrc_infos|.
2629 CreateTracksFromSsrcInfos(ssrc_infos, &tracks); 2631 CreateTracksFromSsrcInfos(ssrc_infos, &tracks);
2630 2632
2631 // Add the ssrc group to the track. 2633 // Add the ssrc group to the track.
2632 for (SsrcGroupVec::iterator ssrc_group = ssrc_groups.begin(); 2634 for (SsrcGroupVec::iterator ssrc_group = ssrc_groups.begin();
2633 ssrc_group != ssrc_groups.end(); ++ssrc_group) { 2635 ssrc_group != ssrc_groups.end(); ++ssrc_group) {
2634 if (ssrc_group->ssrcs.empty()) { 2636 if (ssrc_group->ssrcs.empty()) {
2635 continue; 2637 continue;
2636 } 2638 }
2637 uint32 ssrc = ssrc_group->ssrcs.front(); 2639 uint32_t ssrc = ssrc_group->ssrcs.front();
2638 for (StreamParamsVec::iterator track = tracks.begin(); 2640 for (StreamParamsVec::iterator track = tracks.begin();
2639 track != tracks.end(); ++track) { 2641 track != tracks.end(); ++track) {
2640 if (track->has_ssrc(ssrc)) { 2642 if (track->has_ssrc(ssrc)) {
2641 track->ssrc_groups.push_back(*ssrc_group); 2643 track->ssrc_groups.push_back(*ssrc_group);
2642 } 2644 }
2643 } 2645 }
2644 } 2646 }
2645 2647
2646 // Add the new tracks to the |media_desc|. 2648 // Add the new tracks to the |media_desc|.
2647 for (StreamParamsVec::iterator track = tracks.begin(); 2649 for (StreamParamsVec::iterator track = tracks.begin();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2699 &field1, &field2)) { 2701 &field1, &field2)) {
2700 const size_t expected_fields = 2; 2702 const size_t expected_fields = 2;
2701 return ParseFailedExpectFieldNum(line, expected_fields, error); 2703 return ParseFailedExpectFieldNum(line, expected_fields, error);
2702 } 2704 }
2703 2705
2704 // ssrc:<ssrc-id> 2706 // ssrc:<ssrc-id>
2705 std::string ssrc_id_s; 2707 std::string ssrc_id_s;
2706 if (!GetValue(field1, kAttributeSsrc, &ssrc_id_s, error)) { 2708 if (!GetValue(field1, kAttributeSsrc, &ssrc_id_s, error)) {
2707 return false; 2709 return false;
2708 } 2710 }
2709 uint32 ssrc_id = 0; 2711 uint32_t ssrc_id = 0;
2710 if (!GetValueFromString(line, ssrc_id_s, &ssrc_id, error)) { 2712 if (!GetValueFromString(line, ssrc_id_s, &ssrc_id, error)) {
2711 return false; 2713 return false;
2712 } 2714 }
2713 2715
2714 std::string attribute; 2716 std::string attribute;
2715 std::string value; 2717 std::string value;
2716 if (!rtc::tokenize_first(field2, kSdpDelimiterColon, &attribute, &value)) { 2718 if (!rtc::tokenize_first(field2, kSdpDelimiterColon, &attribute, &value)) {
2717 std::ostringstream description; 2719 std::ostringstream description;
2718 description << "Failed to get the ssrc attribute value from " << field2 2720 description << "Failed to get the ssrc attribute value from " << field2
2719 << ". Expected format <attribute>:<value>."; 2721 << ". Expected format <attribute>:<value>.";
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2776 rtc::split(line.substr(kLinePrefixLength), 2778 rtc::split(line.substr(kLinePrefixLength),
2777 kSdpDelimiterSpace, &fields); 2779 kSdpDelimiterSpace, &fields);
2778 const size_t expected_min_fields = 2; 2780 const size_t expected_min_fields = 2;
2779 if (fields.size() < expected_min_fields) { 2781 if (fields.size() < expected_min_fields) {
2780 return ParseFailedExpectMinFieldNum(line, expected_min_fields, error); 2782 return ParseFailedExpectMinFieldNum(line, expected_min_fields, error);
2781 } 2783 }
2782 std::string semantics; 2784 std::string semantics;
2783 if (!GetValue(fields[0], kAttributeSsrcGroup, &semantics, error)) { 2785 if (!GetValue(fields[0], kAttributeSsrcGroup, &semantics, error)) {
2784 return false; 2786 return false;
2785 } 2787 }
2786 std::vector<uint32> ssrcs; 2788 std::vector<uint32_t> ssrcs;
2787 for (size_t i = 1; i < fields.size(); ++i) { 2789 for (size_t i = 1; i < fields.size(); ++i) {
2788 uint32 ssrc = 0; 2790 uint32_t ssrc = 0;
2789 if (!GetValueFromString(line, fields[i], &ssrc, error)) { 2791 if (!GetValueFromString(line, fields[i], &ssrc, error)) {
2790 return false; 2792 return false;
2791 } 2793 }
2792 ssrcs.push_back(ssrc); 2794 ssrcs.push_back(ssrc);
2793 } 2795 }
2794 ssrc_groups->push_back(SsrcGroup(semantics, ssrcs)); 2796 ssrc_groups->push_back(SsrcGroup(semantics, ssrcs));
2795 return true; 2797 return true;
2796 } 2798 }
2797 2799
2798 bool ParseCryptoAttribute(const std::string& line, 2800 bool ParseCryptoAttribute(const std::string& line,
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
3068 UpdateCodec<AudioContentDescription, cricket::AudioCodec>( 3070 UpdateCodec<AudioContentDescription, cricket::AudioCodec>(
3069 media_desc, payload_type, feedback_param); 3071 media_desc, payload_type, feedback_param);
3070 } else if (media_type == cricket::MEDIA_TYPE_VIDEO) { 3072 } else if (media_type == cricket::MEDIA_TYPE_VIDEO) {
3071 UpdateCodec<VideoContentDescription, cricket::VideoCodec>( 3073 UpdateCodec<VideoContentDescription, cricket::VideoCodec>(
3072 media_desc, payload_type, feedback_param); 3074 media_desc, payload_type, feedback_param);
3073 } 3075 }
3074 return true; 3076 return true;
3075 } 3077 }
3076 3078
3077 } // namespace webrtc 3079 } // namespace webrtc
OLDNEW
« no previous file with comments | « talk/app/webrtc/videosource.cc ('k') | talk/app/webrtc/webrtcsdp_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698