Changeset 1867 for pjproject/trunk/pjnath/src/pjnath/turn_udp.c
- Timestamp:
- Mar 13, 2008 3:11:29 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjnath/src/pjnath/turn_udp.c
r1862 r1867 167 167 } 168 168 169 /** 170 * Get info. 171 */ 172 PJ_DEF(pj_status_t) pj_turn_udp_get_info(pj_turn_udp *udp_rel, 173 pj_turn_session_info *info) 174 { 175 PJ_ASSERT_RETURN(udp_rel && info, PJ_EINVAL); 176 177 if (udp_rel->sess) { 178 return pj_turn_session_get_info(udp_rel->sess, info); 179 } else { 180 pj_bzero(info, sizeof(*info)); 181 info->state = PJ_TURN_STATE_NULL; 182 return PJ_SUCCESS; 183 } 184 } 185 169 186 /* 170 187 * Initialize. … … 179 196 pj_status_t status; 180 197 198 PJ_ASSERT_RETURN(udp_rel && domain, PJ_EINVAL); 199 PJ_ASSERT_RETURN(udp_rel->sess, PJ_EINVALIDOP); 200 181 201 status = pj_turn_session_set_server(udp_rel->sess, domain, default_port, 182 202 resolver); … … 184 204 return status; 185 205 186 status = pj_turn_session_set_cred(udp_rel->sess, cred); 187 if (status != PJ_SUCCESS) 188 return status; 206 if (cred) { 207 status = pj_turn_session_set_cred(udp_rel->sess, cred); 208 if (status != PJ_SUCCESS) 209 return status; 210 } 189 211 190 212 status = pj_turn_session_alloc(udp_rel->sess, param); … … 204 226 unsigned addr_len) 205 227 { 228 PJ_ASSERT_RETURN(udp_rel && addr && addr_len, PJ_EINVAL); 229 230 if (udp_rel->sess == NULL) 231 return PJ_EINVALIDOP; 232 206 233 return pj_turn_session_sendto(udp_rel->sess, pkt, pkt_len, 207 234 addr, addr_len); … … 215 242 unsigned addr_len) 216 243 { 244 PJ_ASSERT_RETURN(udp_rel && peer && addr_len, PJ_EINVAL); 245 PJ_ASSERT_RETURN(udp_rel->sess != NULL, PJ_EINVALIDOP); 246 217 247 return pj_turn_session_bind_channel(udp_rel->sess, peer, addr_len); 218 248 } … … 233 263 do { 234 264 /* Report incoming packet to TURN session */ 235 if (bytes_read > 0 ) {265 if (bytes_read > 0 && udp_rel->sess) { 236 266 pj_turn_session_on_rx_pkt(udp_rel->sess, udp_rel->pkt, 237 267 bytes_read, PJ_TRUE); … … 318 348 (*udp_rel->cb.on_state)(udp_rel, old_state, new_state); 319 349 } 320 } 321 322 350 351 if (new_state > PJ_TURN_STATE_READY) { 352 udp_rel->sess = NULL; 353 } 354 } 355 356
Note: See TracChangeset
for help on using the changeset viewer.