Changeset 3334 for pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c
- Timestamp:
- Oct 5, 2010 4:32:04 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsua-lib/pjsua_call.c
r3330 r3334 3581 3581 pjmedia_sdp_session *sdp) 3582 3582 { 3583 pjmedia_sdp_media *m; 3584 3583 3585 /* Call-hold is done by set the media direction to 'sendonly' 3584 3586 * (PJMEDIA_DIR_ENCODING), except when current media direction is … … 3592 3594 * configuration to use c=0.0.0.0 for call hold. 3593 3595 */ 3596 3597 m = sdp->media[call->audio_idx]; 3598 3594 3599 if (call->call_hold_type == PJSUA_CALL_HOLD_TYPE_RFC2543) { 3595 3600 pjmedia_sdp_conn *conn; … … 3597 3602 3598 3603 /* Get SDP media connection line */ 3599 conn = sdp->media[0]->conn;3604 conn = m->conn; 3600 3605 if (!conn) 3601 3606 conn = sdp->conn; … … 3605 3610 3606 3611 /* Remove existing directions attributes */ 3607 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "sendrecv");3608 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "sendonly");3609 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "recvonly");3610 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "inactive");3612 pjmedia_sdp_media_remove_all_attr(m, "sendrecv"); 3613 pjmedia_sdp_media_remove_all_attr(m, "sendonly"); 3614 pjmedia_sdp_media_remove_all_attr(m, "recvonly"); 3615 pjmedia_sdp_media_remove_all_attr(m, "inactive"); 3611 3616 3612 3617 /* Add inactive attribute */ 3613 3618 attr = pjmedia_sdp_attr_create(pool, "inactive", NULL); 3614 pjmedia_sdp_media_add_attr( sdp->media[0], attr);3619 pjmedia_sdp_media_add_attr(m, attr); 3615 3620 3616 3621 … … 3619 3624 3620 3625 /* Remove existing directions attributes */ 3621 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "sendrecv");3622 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "sendonly");3623 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "recvonly");3624 pjmedia_sdp_media_remove_all_attr( sdp->media[0], "inactive");3626 pjmedia_sdp_media_remove_all_attr(m, "sendrecv"); 3627 pjmedia_sdp_media_remove_all_attr(m, "sendonly"); 3628 pjmedia_sdp_media_remove_all_attr(m, "recvonly"); 3629 pjmedia_sdp_media_remove_all_attr(m, "inactive"); 3625 3630 3626 3631 if (call->media_dir & PJMEDIA_DIR_ENCODING) { 3627 3632 /* Add sendonly attribute */ 3628 3633 attr = pjmedia_sdp_attr_create(pool, "sendonly", NULL); 3629 pjmedia_sdp_media_add_attr( sdp->media[0], attr);3634 pjmedia_sdp_media_add_attr(m, attr); 3630 3635 } else { 3631 3636 /* Add inactive attribute */ 3632 3637 attr = pjmedia_sdp_attr_create(pool, "inactive", NULL); 3633 pjmedia_sdp_media_add_attr( sdp->media[0], attr);3638 pjmedia_sdp_media_add_attr(m, attr); 3634 3639 } 3635 3640 } … … 3673 3678 { 3674 3679 pjsua_call *call; 3675 pjmedia_sdp_conn *conn ;3680 pjmedia_sdp_conn *conn = NULL; 3676 3681 pjmedia_sdp_session *answer; 3677 3682 pj_status_t status; … … 3681 3686 call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; 3682 3687 3683 conn = offer->media[0]->conn; 3688 if (call->audio_idx < (int)offer->media_count) 3689 conn = offer->media[call->audio_idx]->conn; 3690 3684 3691 if (!conn) 3685 3692 conn = offer->conn;
Note: See TracChangeset
for help on using the changeset viewer.