Bug 1248637: Prune duplicate CANCELLED candidate pairs. r?drno draft
authorByron Campen [:bwc] <docfaraday@gmail.com>
Tue, 01 Mar 2016 10:47:14 -0600
changeset 335811 d375920b935d5a820c0e7496fdd445da874225c0
parent 335780 a4929411c0aa3ec6b727e2bc2fc050c8199c6573
child 515222 ec7f2bf3044736e134da9fd416ed220ef170cb24
push id11882
push userbcampen@mozilla.com
push dateTue, 01 Mar 2016 16:48:35 +0000
reviewersdrno
bugs1248637
milestone47.0a1
Bug 1248637: Prune duplicate CANCELLED candidate pairs. r?drno MozReview-Commit-ID: HeErN7xMxbQ
media/mtransport/nricemediastream.cpp
--- a/media/mtransport/nricemediastream.cpp
+++ b/media/mtransport/nricemediastream.cpp
@@ -339,17 +339,19 @@ nsresult NrIceMediaStream::GetCandidateP
         /* In case of duplicate pairs we only report the one winning pair */
         if (
             ((p2->remote->component && (p2->remote->component->active == p2)) &&
              !(p1->remote->component && (p1->remote->component->active == p1))) ||
             ((p2->peer_nominated || p2->nominated) &&
              !(p1->peer_nominated || p1->nominated)) ||
             (p2->priority > p1->priority) ||
             ((p2->state == NR_ICE_PAIR_STATE_SUCCEEDED) &&
-             (p1->state != NR_ICE_PAIR_STATE_SUCCEEDED))
+             (p1->state != NR_ICE_PAIR_STATE_SUCCEEDED)) ||
+            ((p2->state != NR_ICE_PAIR_STATE_CANCELLED) &&
+             (p1->state == NR_ICE_PAIR_STATE_CANCELLED))
             ) {
           /* p2 is a better pair. */
           break;
         }
       }
       p2=TAILQ_NEXT(p2, check_queue_entry);
     }
     if (p2) {