| Index: webrtc/api/jsepsessiondescription.cc
|
| diff --git a/webrtc/api/jsepsessiondescription.cc b/webrtc/api/jsepsessiondescription.cc
|
| index b47114b9bcd052979f13a19bdea35d3faae6efc5..eb776c86fa7d9bfd3755adac93b4844ad34456d2 100644
|
| --- a/webrtc/api/jsepsessiondescription.cc
|
| +++ b/webrtc/api/jsepsessiondescription.cc
|
| @@ -137,6 +137,20 @@ bool JsepSessionDescription::AddCandidate(
|
| return true;
|
| }
|
|
|
| +size_t JsepSessionDescription::RemoveCandidates(
|
| + const std::vector<cricket::Candidate>& candidates) {
|
| + size_t num_removed = 0;
|
| + for (auto& candidate : candidates) {
|
| + int mediasection_index = GetMediasectionIndex(candidate);
|
| + if (mediasection_index < 0) {
|
| + // Not found.
|
| + continue;
|
| + }
|
| + num_removed += candidate_collection_[mediasection_index].remove(candidate);
|
| + }
|
| + return num_removed;
|
| +}
|
| +
|
| size_t JsepSessionDescription::number_of_mediasections() const {
|
| if (!description_)
|
| return 0;
|
| @@ -184,4 +198,16 @@ bool JsepSessionDescription::GetMediasectionIndex(
|
| return true;
|
| }
|
|
|
| +int JsepSessionDescription::GetMediasectionIndex(
|
| + const cricket::Candidate& candidate) {
|
| + // Find the description with a matching transport name of the candidate.
|
| + const std::string& transport_name = candidate.transport_name();
|
| + for (size_t i = 0; i < description_->contents().size(); ++i) {
|
| + if (transport_name == description_->contents().at(i).name) {
|
| + return static_cast<int>(i);
|
| + }
|
| + }
|
| + return -1;
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|