2
votes

Trying to use Android application for WebRTC Based on APpRtcDemo. When connecting from Chrome 34 Everythings works fine, But When I use Chrome 35 for video call f got this error.

 onSetFailure: Failed to set remote offer sdp: Called with SDP without SDES crypto.

Here media constraints, which I'm trying to use

sdpMediaConstraints = new MediaConstraints();
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true"));        
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", "true"));
sdpMediaConstraints.optional.add(new MediaConstraints.KeyValuePair("DtlsSrtpKeyAgreement", "true"));

Here is Code setting remote description

    pc.setRemoteDescription(sdpObserver, new SessionDescription(
            SessionDescription.Type.OFFER, description.toString()));
1
it is likely that you are hitting this bug (see comment #38) code.google.com/p/webrtc/issues/detail?id=2253Dr. Alex Gouaillard
I have built the latest version of libjingle from trunk, But it does not help.pahan40
there is no fix for this yet. You can follow (star) the bug to know when a fix becomes available.Dr. Alex Gouaillard
Looks like chrome needs sdes crypto key but you are it with providing dtls fingerprint.kriswiz

1 Answers

3
votes

The problem was fixed by adding constraint to creation of Peerconnection object.

DtlsSrtpKeyAgreement:true


pc = factory.createPeerConnection(iceServers, constraints, pcObserver);

where constraints has DtlsSrtpKeyAgreement:true key value.