@@ -130,6 +130,42 @@ WebRTCPeerConnection::ConnectionState WebRTCLibPeerConnection::_get_connection_s
130
130
}
131
131
}
132
132
133
+ WebRTCLibPeerConnection::GatheringState WebRTCLibPeerConnection::_get_gathering_state () const {
134
+ ERR_FAIL_COND_V (peer_connection == nullptr , GATHERING_STATE_NEW);
135
+
136
+ rtc::PeerConnection::GatheringState state = peer_connection->gatheringState ();
137
+ switch (state) {
138
+ case rtc::PeerConnection::GatheringState::New:
139
+ return GATHERING_STATE_NEW;
140
+ case rtc::PeerConnection::GatheringState::InProgress:
141
+ return GATHERING_STATE_GATHERING;
142
+ case rtc::PeerConnection::GatheringState::Complete:
143
+ return GATHERING_STATE_COMPLETE;
144
+ default :
145
+ return GATHERING_STATE_NEW;
146
+ }
147
+ }
148
+
149
+ WebRTCLibPeerConnection::SignalingState WebRTCLibPeerConnection::_get_signaling_state () const {
150
+ ERR_FAIL_COND_V (peer_connection == nullptr , SIGNALING_STATE_CLOSED);
151
+
152
+ rtc::PeerConnection::SignalingState state = peer_connection->signalingState ();
153
+ switch (state) {
154
+ case rtc::PeerConnection::SignalingState::Stable:
155
+ return SIGNALING_STATE_STABLE;
156
+ case rtc::PeerConnection::SignalingState::HaveLocalOffer:
157
+ return SIGNALING_STATE_HAVE_LOCAL_OFFER;
158
+ case rtc::PeerConnection::SignalingState::HaveRemoteOffer:
159
+ return SIGNALING_STATE_HAVE_REMOTE_OFFER;
160
+ case rtc::PeerConnection::SignalingState::HaveLocalPranswer:
161
+ return SIGNALING_STATE_HAVE_LOCAL_PRANSWER;
162
+ case rtc::PeerConnection::SignalingState::HaveRemotePranswer:
163
+ return SIGNALING_STATE_HAVE_REMOTE_PRANSWER;
164
+ default :
165
+ return SIGNALING_STATE_CLOSED;
166
+ }
167
+ }
168
+
133
169
Error WebRTCLibPeerConnection::_initialize (const Dictionary &p_config) {
134
170
rtc::Configuration config = {};
135
171
if (p_config.has (" iceServers" ) && p_config[" iceServers" ].get_type () == Variant::ARRAY) {
0 commit comments