Guest User

Untitled

a guest
Dec 13th, 2017
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. let constraints: RTCMediaConstraints? = defaultPeerConnectionConstraints()
  2. peerConnection: RTCPeerCo = factory?.peerConnection(withICEServers: iceServers, constraints: constraints, delegate: self)
  3. let localStream: RTCMediaStream? = createLocalMediaStream() //get Media stream(video/audio)
  4. peerConnection?.add(localStream)
  5.  
  6. //create offer for other opponent
  7.  
  8. if isInitiator {
  9. peerConnection?.createOffer(with: self, constraints: defaultOfferConstraints())
  10. print("create Offer")
  11. }
  12.  
  13. func defaultICEServer() -> [RTCICEServer] {
  14.  
  15. var iceServers = [RTCICEServer]()
  16. let defaultSTUNServerURL = URL(string: Config.defaultSTUNServerUrl)
  17. let defaultTURNServerURL = URL(string: Config.defaultTURNServerUrl)
  18. let stunServ = RTCICEServer(uri: defaultSTUNServerURL, username: "", password: "")
  19. let turnServ = RTCICEServer(uri: defaultTURNServerURL, username: "admin", password: "admin")
  20. iceServers.append(stunServ!)
  21. iceServers.append(turnServ!)
  22.  
  23. return iceServers
  24. }
  25.  
  26. func defaultPeerConnectionConstraints() -> RTCMediaConstraints {
  27. let optionalConstraints: [Any] = [RTCPair(key: "DtlsSrtpKeyAgreement", value: "true")]
  28. let constraints = RTCMediaConstraints(mandatoryConstraints: nil, optionalConstraints: optionalConstraints)
  29. return constraints!
  30. }
  31.  
  32. func peerConnection(_ peerConnection: RTCPeerConnection, didCreateSessionDescription sdp: RTCSessionDescription, error: Error?) {}
  33.  
  34. peerConnection?.setLocalDescriptionWith(self, sessionDescription: sdp)
Add Comment
Please, Sign In to add comment