Сбор льда не начинается после создания ответа на android с использованием libjingle - PullRequest
0 голосов
/ 28 марта 2020

Я использую последнюю версию libjingle и пытаюсь установить связь с webrt c между двумя устройствами. Когда вы выступаете в роли инициатора, кандидаты на льды генерируются после создания предложения, но когда вы выступаете в роли получателя и получаете предложение, создаваете ответ и задаете локальное описание, кандидаты на льды как-то еще не генерируются.

Может ли кто-нибудь любезно помочь мне, что могло пойти не так в этом? Заранее большое спасибо.

Ниже приведен код для создания ответа и настройки локального описания. Ответ не отправляется обратно, потому что ледовые кандидаты никогда не генерируются.

this.pc.createAnswer(new SdpObserver() {
    @Override
    public void onCreateSuccess(SessionDescription sessionDescription) {
        Log.d("ctr", "Create success create answer "+sessionDescription.description);
        String description = sessionDescription.description;
        if(!trickle && !allowHalfTrickle) {
            description = description.replace("/a=ice-options:trickle\\s\\n/g", "");
        }
        SessionDescription sdp = new SessionDescription(sessionDescription.type, description);
        String finalDescription = description;
        pc.setLocalDescription(new SdpObserver() {
            @Override
            public void onCreateSuccess(SessionDescription sessionDescription) {
                Log.d("ctr", "Create answer create success");
            }

            @Override
            public void onSetSuccess() {
                Log.d("ctr", "Create answer set description success "+ finalDescription + " " + destroyed + " " +trickle +  " " + _iceComplete);
                if(destroyed) {
                    return;
                }
                if(trickle || _iceComplete){
                    sendAnswer();
                }
                sendanswerbool = true;
            }

            @Override
            public void onCreateFailure(String s) {
                Log.d("ctr", "Create answer create failure");
            }

            @Override
            public void onSetFailure(String s) {
                Log.d("ctr", "Create answer set failure");
            }
        }, sdp);
    }

    @Override
    public void onSetSuccess() {
        Log.d("ctr", "Create answer set success ");
    }

    @Override
    public void onCreateFailure(String s) {
        Log.d("ctr", "Create failure create answer "+s);
    }

    @Override
    public void onSetFailure(String s) {
        Log.d("ctr", "Set failure create answer "+s);
    }
}, pcConstraints); 

Ниже приводится описание сеанса, которое я получаю в onSetSuccess после вызова setLocalDescription.

v=0
o=- 3247708487458601859 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=application 0 UDP/DTLS/SCTP 5000
c=IN IP4 0.0.0.0
a=mid:0
a=sctpmap:5000 webrtc-datachannel 1024
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...