@@ -144,6 +144,11 @@ static int extract_ice_info(whip_signaling_t *sig, char *link)
144
144
if (sig -> server_num > MAX_SERVER_SUPPORT ) {
145
145
return ESP_PEER_ERR_OVER_LIMITED ;
146
146
}
147
+ // Check if this Link header is for an ICE server
148
+ if (strstr (link , "rel=\"ice-server\"" ) == NULL ) {
149
+ ESP_LOGD (TAG , "Skip link not for ICE server: %s" , link );
150
+ return ESP_PEER_ERR_NONE ;
151
+ }
147
152
esp_peer_ice_server_cfg_t server_cfg = {};
148
153
char * start , * end ;
149
154
start = strstr (link , "<" );
@@ -155,6 +160,7 @@ static int extract_ice_info(whip_signaling_t *sig, char *link)
155
160
return ESP_PEER_ERR_INVALID_ARG ;
156
161
}
157
162
* end = '\0' ; // Terminate the URL
163
+
158
164
server_cfg .stun_url = strdup (start + 1 );
159
165
* end = '>' ;
160
166
start = end + 1 ;
@@ -228,13 +234,13 @@ static int whip_signaling_send_msg(esp_peer_signaling_handle_t h, esp_peer_signa
228
234
}
229
235
sig -> local_sdp_sent = true;
230
236
if (sig -> server_num ) {
231
- // update ice_info
232
- esp_peer_signaling_ice_info_t iec_info = {
237
+ // Update ice_info
238
+ esp_peer_signaling_ice_info_t ice_info = {
233
239
.is_initiator = true,
234
240
.server_info = * sig -> ice_servers [0 ],
235
241
};
236
242
// TODO support more servers?
237
- sig -> cfg .on_ice_info (& iec_info , sig -> cfg .ctx );
243
+ sig -> cfg .on_ice_info (& ice_info , sig -> cfg .ctx );
238
244
}
239
245
// Try to extractor stun lists
240
246
esp_peer_signaling_msg_t sdp_msg = {
0 commit comments