mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-07 05:53:06 +00:00
Remove ICE check lists from media streams that are removed from the SDP.
This commit is contained in:
parent
652471f66f
commit
623e9e1813
1 changed files with 8 additions and 0 deletions
|
|
@ -680,6 +680,10 @@ int sdp_to_media_description(sdp_message_t *msg, SalMediaDescription *desc, IceS
|
|||
if ((ice_ufrag != NULL) && (ice_pwd != NULL)) {
|
||||
ice_check_list_set_remote_credentials(ice_session_check_list(*ice_session, i), ice_ufrag, ice_pwd);
|
||||
}
|
||||
if (stream->rtp_port == 0) {
|
||||
/* This stream has been deactivated by the peer, delete the check list. */
|
||||
ice_session_remove_check_list(*ice_session, ice_session_check_list(*ice_session, i));
|
||||
}
|
||||
ice_dump_candidates(ice_session_check_list(*ice_session, i));
|
||||
}
|
||||
}
|
||||
|
|
@ -697,6 +701,7 @@ int sdp_to_media_description(sdp_message_t *msg, SalMediaDescription *desc, IceS
|
|||
}
|
||||
}
|
||||
if (*ice_session != NULL) {
|
||||
int nb_check_lists;
|
||||
if (ice_session_just_created == TRUE) {
|
||||
if (ice_lite == TRUE) {
|
||||
ice_session_set_role(*ice_session, IR_Controlling);
|
||||
|
|
@ -705,6 +710,9 @@ int sdp_to_media_description(sdp_message_t *msg, SalMediaDescription *desc, IceS
|
|||
}
|
||||
ice_session_check_mismatch(*ice_session);
|
||||
}
|
||||
while ((nb_check_lists = ice_session_nb_check_lists(*ice_session)) > desc->nstreams) {
|
||||
ice_session_remove_check_list(*ice_session, ice_session_check_list(*ice_session, nb_check_lists - 1));
|
||||
}
|
||||
if ((ice_ufrag != NULL) && (ice_pwd != NULL)) {
|
||||
ice_session_set_remote_credentials(*ice_session, ice_ufrag, ice_pwd);
|
||||
ice_dump_session(*ice_session);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue