Changeset 5828 for pjproject/trunk/pjsip/src/pjsua2/call.cpp
- Timestamp:
- Jul 20, 2018 2:19:41 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsua2/call.cpp
r5645 r5828 161 161 : statusCode(pjsip_status_code(0)), reason(""), options(0) 162 162 { 163 sdp.wholeSdp = ""; 163 164 if (useDefaultCallSetting) 164 165 opt = CallSetting(true); … … 329 330 pj_str_t reason; 330 331 pj_str_t *p_reason; 332 pjmedia_sdp_session *sdp; 331 333 332 334 public: … … 336 338 call_param(const SipTxOption &tx_option); 337 339 call_param(const SipTxOption &tx_option, const CallSetting &setting, 338 const string &reason_str); 340 const string &reason_str, pj_pool_t *pool = NULL, 341 const string &sdp_str = ""); 339 342 }; 340 343 … … 350 353 p_opt = NULL; 351 354 p_reason = NULL; 355 sdp = NULL; 352 356 } 353 357 354 358 call_param::call_param(const SipTxOption &tx_option, const CallSetting &setting, 355 const string &reason_str) 359 const string &reason_str, pj_pool_t *pool, 360 const string &sdp_str) 356 361 { 357 362 if (tx_option.isEmpty()) { … … 371 376 reason = str2Pj(reason_str); 372 377 p_reason = (reason.slen == 0? NULL: &reason); 378 379 if (sdp_str == "") { 380 sdp = NULL; 381 } else { 382 pj_str_t dup_pj_sdp; 383 pj_str_t pj_sdp_str = {(char*)sdp_str.c_str(), 384 (pj_ssize_t)sdp_str.size()}; 385 386 pj_strdup(pool, &dup_pj_sdp, &pj_sdp_str); 387 pjmedia_sdp_parse(pool, dup_pj_sdp.ptr, 388 dup_pj_sdp.slen, &sdp); 389 } 373 390 } 374 391 … … 493 510 void Call::answer(const CallOpParam &prm) throw(Error) 494 511 { 495 call_param param(prm.txOption, prm.opt, prm.reason); 496 497 PJSUA2_CHECK_EXPR( pjsua_call_answer2(id, param.p_opt, prm.statusCode, 498 param.p_reason, param.p_msg_data) ); 512 call_param param(prm.txOption, prm.opt, prm.reason, 513 sdp_pool, prm.sdp.wholeSdp); 514 515 if (param.sdp) { 516 PJSUA2_CHECK_EXPR( pjsua_call_answer_with_sdp(id, param.sdp, param.p_opt, 517 prm.statusCode, 518 param.p_reason, 519 param.p_msg_data) ); 520 } else { 521 PJSUA2_CHECK_EXPR( pjsua_call_answer2(id, param.p_opt, prm.statusCode, 522 param.p_reason, 523 param.p_msg_data) ); 524 } 499 525 } 500 526
Note: See TracChangeset
for help on using the changeset viewer.