Skip to content

Commit 1f3e6ae

Browse files
committed
Make credo happy
1 parent e5118db commit 1f3e6ae

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

lib/ex_webrtc/peer_connection.ex

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1746,12 +1746,13 @@ defmodule ExWebRTC.PeerConnection do
17461746
defp apply_local_description(%SessionDescription{type: type, sdp: raw_sdp}, state) do
17471747
with {:ok, next_sig_state} <- next_signaling_state(state.signaling_state, :local, type),
17481748
:ok <- check_altered(type, raw_sdp, state),
1749-
{:ok, sdp} <- parse_sdp(raw_sdp) do
1749+
{:ok, sdp} <- parse_sdp(raw_sdp),
1750+
ice_lite <- SDPUtils.get_ice_lite(sdp) do
17501751
# See: https://www.w3.org/TR/webrtc/#ref-for-dfn-icerole-1
17511752
# Also, this has to be before gathering candidates.
17521753
# Note: If we add support for ice-lite, this code needs to be adjusted.
1753-
if state.ice_transport.get_role(state.ice_pid) == nil and type == :offer do
1754-
:ok = state.ice_transport.set_role(state.ice_pid, :controlling)
1754+
if state.ice_transport.get_role(state.ice_pid) == nil do
1755+
set_ice_role(state, :local, type, ice_lite)
17551756
end
17561757

17571758
if state.ice_gathering_state == :new do
@@ -1800,13 +1801,7 @@ defmodule ExWebRTC.PeerConnection do
18001801
# See: https://www.w3.org/TR/webrtc/#ref-for-dfn-icerole-1
18011802
# Note: If we add support for ice-lite, this code needs to be adjusted.
18021803
if state.ice_transport.get_role(state.ice_pid) == nil do
1803-
cond do
1804-
type == :offer and ice_lite == true ->
1805-
:ok = state.ice_transport.set_role(state.ice_pid, :controlling)
1806-
1807-
type == :offer and ice_lite == false ->
1808-
:ok = state.ice_transport.set_role(state.ice_pid, :controlled)
1809-
end
1804+
set_ice_role(state, :remote, type, ice_lite)
18101805
end
18111806

18121807
twcc_id =
@@ -1972,6 +1967,18 @@ defmodule ExWebRTC.PeerConnection do
19721967
%{state | pending_remote_desc: {type, sdp}}
19731968
end
19741969

1970+
defp set_ice_role(state, :local, :offer, _ice_lite) do
1971+
:ok = state.ice_transport.set_role(state.ice_pid, :controlling)
1972+
end
1973+
1974+
defp set_ice_role(state, :remote, :offer, true) do
1975+
:ok = state.ice_transport.set_role(state.ice_pid, :controlling)
1976+
end
1977+
1978+
defp set_ice_role(state, :remote, :offer, false) do
1979+
:ok = state.ice_transport.set_role(state.ice_pid, :controlled)
1980+
end
1981+
19751982
defp parse_sdp(raw_sdp) do
19761983
case ExSDP.parse(raw_sdp) do
19771984
{:ok, _sdp} = res -> res

0 commit comments

Comments
 (0)