@@ -12,6 +12,8 @@ defmodule Membrane.WebRTC.ExWebRTCSource do
1212 allowed_video_codecs: [ ] ,
1313 preferred_video_codec: [ ] ,
1414 ice_servers: [ ] ,
15+ ice_port_range: [ ] ,
16+ ice_ip_filter: [ ] ,
1517 keyframe_interval: [ ] ,
1618 sdp_candidates_timeout: [ ]
1719
@@ -43,6 +45,8 @@ defmodule Membrane.WebRTC.ExWebRTCSource do
4345 allowed_video_codecs: [ :h264 | :vp8 ] ,
4446 preferred_video_codec: :h264 | :vp8 ,
4547 ice_servers: [ ExWebRTC.PeerConnection.Configuration . ice_server ( ) ] ,
48+ ice_port_range: Enumerable . t ( non_neg_integer ( ) ) ,
49+ ice_ip_filter: ( :inet . ip_address ( ) -> boolean ( ) ) ,
4650 keyframe_interval: Membrane.Time . t ( ) | nil ,
4751 sdp_candidates_timeout: Membrane.Time . t ( ) | nil
4852 }
@@ -53,6 +57,8 @@ defmodule Membrane.WebRTC.ExWebRTCSource do
5357 :allowed_video_codecs ,
5458 :preferred_video_codec ,
5559 :ice_servers ,
60+ :ice_port_range ,
61+ :ice_ip_filter ,
5662 :keyframe_interval ,
5763 :sdp_candidates_timeout
5864 ]
@@ -78,6 +84,8 @@ defmodule Membrane.WebRTC.ExWebRTCSource do
7884 allowed_video_codecs: opts . allowed_video_codecs |> Enum . uniq ( ) ,
7985 preferred_video_codec: opts . preferred_video_codec ,
8086 ice_servers: opts . ice_servers ,
87+ ice_port_range: opts . ice_port_range ,
88+ ice_ip_filter: opts . ice_ip_filter ,
8189 keyframe_interval: opts . keyframe_interval ,
8290 sdp_candidates_timeout: opts . sdp_candidates_timeout
8391 } }
@@ -325,6 +333,8 @@ defmodule Membrane.WebRTC.ExWebRTCSource do
325333 { :ok , pc } =
326334 PeerConnection . start (
327335 ice_servers: state . ice_servers ,
336+ ice_port_range: state . ice_port_range ,
337+ ice_ip_filter: state . ice_ip_filter ,
328338 video_codecs: video_params ,
329339 audio_codecs: state . audio_params
330340 )
0 commit comments