Определите, используется ли TURN из данных API webrtc getStats

Я использую API getStats() WebRTC на Android для получения статистики, и я получаю большую часть данных, которые мне нужны. Но я не могу найти данные, чтобы определить, используется TURN или нет.

Пожалуйста, проверьте пример данных JSON. https://pastebin.com/v89aaL2H

private void getStats() {
if (peerConnection == null || isError) {
    return;
}
boolean success = peerConnection.getStats(reports -> events.onPeerConnectionStatsReady(reports), null);
}

1 ответ

Решение

Кажется, вы используете устаревшую статистику. Итак, позвольте мне ответить на ваш вопрос, основываясь на устаревшей статистике -

В вашей прежней статистике, googCandidatePair список представляет пары кандидатов ICE (пары локального и удаленного кандидата ICE) для текущего сеанса WebRTC. Если вы посмотрите в googCandidatePair список вы найдете пары кандидатов, которые в настоящее время используются транспортом (googCandidatePair.googActiveConnection будет верно в этом случае).

Теперь вы можете посмотреть локальный и удаленный тип кандидата (googLocalCandidateType, а также googRemoteCandidateType) этого актива googCandidatePair знать, что именно вы используете для своего транспорта.

Например, из примера дампа статистики - вы используете только stun.

Примечание. Возможно, вам также будет интересно прочитать Руководство по миграции getStats() в Chrome Standard

Другие вопросы по тегам