Skip to content

Commit 91f7309

Browse files
author
Yuqi Huang
committed
Add fallback method to log selected ICE candidate pairs when getSelectedCandidatePair() is not supported
1 parent d6ef207 commit 91f7309

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

examples/app.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,29 @@ async function printPeerConnectionStateInfo(event, logPrefix, remoteClientId) {
469469
console.debug(`Chosen candidate pair (${trackType || 'unknown'}):`, iceTransport.getSelectedCandidatePair());
470470
iceTransport.onselectedcandidatepairchange = logSelectedCandidate;
471471
logSelectedCandidate();
472+
} else {
473+
// Find nominated candidate pair
474+
const nominatedPair = Array.from(stats.values()).find(report =>
475+
report.type === 'candidate-pair' &&
476+
report.nominated === true
477+
);
478+
479+
if (nominatedPair) {
480+
// Get local and remote candidate detailsl;
481+
const localCandidate = stats.get(nominatedPair.localCandidateId);
482+
const remoteCandidate = stats.get(nominatedPair.remoteCandidateId);
483+
484+
if (localCandidate && remoteCandidate) {
485+
// Format candidate strings
486+
const localCandidateStr = `candidate:${localCandidate.foundation || '1'} 1 ${localCandidate.protocol} ${localCandidate.priority} ${localCandidate.address} ${localCandidate.port} typ ${localCandidate.candidateType}`;
487+
const remoteCandidateStr = `candidate:${remoteCandidate.foundation || '1'} 1 ${remoteCandidate.protocol} ${remoteCandidate.priority} ${remoteCandidate.address} ${remoteCandidate.port} typ ${remoteCandidate.candidateType}`;
488+
489+
console.debug(`Chosen candidate pair (${trackType || 'unknown'}):`, {
490+
localCandidate: localCandidateStr,
491+
remote: remoteCandidateStr
492+
});
493+
}
494+
}
472495
}
473496
} else {
474497
console.error('Failed to fetch the candidate pair!');

0 commit comments

Comments
 (0)