mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-02 02:18:31 +00:00
SDP: Search for the ice-lite attribute in the right place.
* Pulled finding the rtcp-mux attribute flag out of the ICE candidate for loop. Also ordered the RTCP ICE candidate skip test to fail earlier. Change-Id: I8905d9c68563027a46cd3ae14dbcc27e9c814809
This commit is contained in:
@@ -875,6 +875,7 @@ static void update_ice(const struct ast_sdp_state *state, struct ast_rtp_instanc
|
|||||||
{
|
{
|
||||||
struct ast_rtp_engine_ice *ice;
|
struct ast_rtp_engine_ice *ice;
|
||||||
const struct ast_sdp_a_line *attr;
|
const struct ast_sdp_a_line *attr;
|
||||||
|
const struct ast_sdp_a_line *attr_rtcp_mux;
|
||||||
unsigned int attr_i;
|
unsigned int attr_i;
|
||||||
|
|
||||||
/* If ICE support is not enabled or available exit early */
|
/* If ICE support is not enabled or available exit early */
|
||||||
@@ -902,10 +903,12 @@ static void update_ice(const struct ast_sdp_state *state, struct ast_rtp_instanc
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ast_sdp_m_find_attribute(remote_m_line, "ice-lite", -1)) {
|
if (ast_sdp_find_attribute(remote_sdp, "ice-lite", -1)) {
|
||||||
ice->ice_lite(rtp);
|
ice->ice_lite(rtp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
attr_rtcp_mux = ast_sdp_m_find_attribute(remote_m_line, "rtcp-mux", -1);
|
||||||
|
|
||||||
/* Find all of the candidates */
|
/* Find all of the candidates */
|
||||||
for (attr_i = 0; attr_i < ast_sdp_m_get_a_count(remote_m_line); ++attr_i) {
|
for (attr_i = 0; attr_i < ast_sdp_m_get_a_count(remote_m_line); ++attr_i) {
|
||||||
char foundation[32];
|
char foundation[32];
|
||||||
@@ -931,9 +934,9 @@ static void update_ice(const struct ast_sdp_state *state, struct ast_rtp_instanc
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ast_sdp_options_get_rtcp_mux(options)
|
if (candidate.id > 1
|
||||||
&& ast_sdp_m_find_attribute(remote_m_line, "rtcp-mux", -1)
|
&& attr_rtcp_mux
|
||||||
&& candidate.id > 1) {
|
&& ast_sdp_options_get_rtcp_mux(options)) {
|
||||||
/* Remote side may have offered RTP and RTCP candidates. However, if we're using RTCP MUX,
|
/* Remote side may have offered RTP and RTCP candidates. However, if we're using RTCP MUX,
|
||||||
* then we should ignore RTCP candidates.
|
* then we should ignore RTCP candidates.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user