Ignore:
Timestamp:
Aug 3, 2018 2:33:28 AM (6 years ago)
Author:
ming
Message:

Re #2096: DTLS updates

  • Fix assertion when DTLS tries to attach transport, but the ICE transport's source RTP address hasn't been updated.
  • Fix DTLS transport attachment in dtls_media_start() which misses rtcp-mux checking, causing rtcp-mux to be disabled.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/transport_ice.c

    r5850 r5852  
    8080    pj_bool_t            use_ice; 
    8181    pj_sockaddr          rtp_src_addr;  /**< Actual source RTP address.     */ 
     82    unsigned             rtp_src_cnt;   /**< How many pkt from this addr.   */ 
    8283    pj_sockaddr          rtcp_src_addr; /**< Actual source RTCP address.    */ 
    8384    unsigned             rtcp_src_cnt;  /**< How many pkt from this addr.   */ 
     
    17641765     * ICE activated or received any packets. 
    17651766     */ 
    1766     if (tp_ice->use_ice) { 
    1767         info->src_rtp_name  = tp_ice->rtp_src_addr; 
    1768     } 
    1769     if (tp_ice->use_ice || tp_ice->rtcp_src_cnt) { 
    1770         info->src_rtcp_name = tp_ice->rtcp_src_addr; 
     1767    if (tp_ice->use_ice || tp_ice->rtp_src_cnt) { 
     1768        pj_sockaddr_cp(&info->src_rtp_name, &tp_ice->rtp_src_addr); 
     1769        if (tp_ice->use_rtcp_mux) 
     1770            pj_sockaddr_cp(&info->src_rtcp_name, &tp_ice->rtp_src_addr); 
     1771    } 
     1772    if ((!tp_ice->use_rtcp_mux) && 
     1773        (tp_ice->use_ice || tp_ice->rtcp_src_cnt)) 
     1774    { 
     1775        pj_sockaddr_cp(&info->src_rtcp_name, &tp_ice->rtcp_src_addr); 
    17711776    } 
    17721777 
     
    18611866    tp_ice->rtp_src_addr = tp_ice->remote_rtp; 
    18621867    pj_bzero(&tp_ice->rtcp_src_addr, sizeof(tp_ice->rtcp_src_addr)); 
    1863     tp_ice->rtcp_src_cnt = 0; 
     1868    tp_ice->rtp_src_cnt = tp_ice->rtcp_src_cnt = 0; 
    18641869 
    18651870    return PJ_SUCCESS; 
     
    19461951        /* Destroy on progress */ 
    19471952        return; 
     1953    } 
     1954 
     1955    if (comp_id == 1) { 
     1956        ++tp_ice->rtp_src_cnt; 
     1957        pj_sockaddr_cp(&tp_ice->rtp_src_addr, src_addr); 
     1958    } else if (comp_id == 2) { 
     1959        pj_sockaddr_cp(&tp_ice->rtcp_src_addr, src_addr); 
    19481960    } 
    19491961 
Note: See TracChangeset for help on using the changeset viewer.