v0.10.0
-
[BREAKING] - PeerConnection process no longer terminates after moving to the failed state. From now on, it's user responsibility to decide when to terminate PeerConnection process. This was introduced to make it possible to gather statistics when the connection fails. It also makes it possible to perform ICE restart. For better explanation see: #202
An example code that closes both PC and the controlling process (assuming they are linked) when the PC moves to the failed state could look like this:
defp handle_webrtc_msg({:connection_state_change, conn_state}, state) do Logger.info("Connection state changed: #{conn_state}") if conn_state == :failed do # shutdown will bring PeerConnection process down if it is linked to **this** process {:stop, {:shutdown, :pc_failed}, state} else {:ok, state} end end
Check #202 to see how we migrated our examples!
-
Candidates are no longer removed from PeerConnection stats when their sockets are closed, pairs that use them fail, or ICE moves to the completed state. So far, we have been clearing ICE Agent from candidates when they were no longer needed. From now on, they will remain in stats until PeerConnection process is closed so it's possible to debug ICE connectivity issues
What's Changed
- Don't terminate PeerConnection after moving to the failed state by @mickel8 in #202
- Add candidate pairs stats by @mickel8 in #203
Full Changelog: v0.9.0...v0.10.0