Changeset 3198 for pjproject/trunk/pjmedia/src/pjmedia/sdp_neg.c
- Timestamp:
- Jun 4, 2010 1:41:34 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/sdp_neg.c
r3195 r3198 312 312 pjmedia_sdp_media *m; 313 313 314 m = pjmedia_sdp_media_clone(pool, om); 315 m->desc.port = 0; 314 m = pjmedia_sdp_media_clone_deactivate(pool, om); 316 315 317 316 pj_array_insert(new_offer->media, sizeof(new_offer->media[0]), … … 777 776 778 777 /* Remote has rejected our offer. 779 * Set our port to zero too in active SDP.778 * Deactivate our media too. 780 779 */ 781 offer->desc.port = 0;780 pjmedia_sdp_media_deactivate(pool, offer); 782 781 783 782 /* Don't need to proceed */ … … 1012 1011 1013 1012 /* Generate matching-but-disabled-media for the answer */ 1014 am = pjmedia_sdp_media_clone(pool, offer->media[omi]); 1015 am->desc.port = 0; 1013 am = pjmedia_sdp_media_clone_deactivate(pool, offer->media[omi]); 1016 1014 answer->media[answer->media_count++] = am; 1017 1015 ++ami; 1018 1016 1017 /* Deactivate our media offer too */ 1018 pjmedia_sdp_media_deactivate(pool, offer->media[omi]); 1019 1019 1020 /* No answer media to be negotiated */ 1020 offer->media[omi]->desc.port = 0;1021 1021 continue; 1022 1022 } … … 1027 1027 /* If media type is mismatched, just disable the media. */ 1028 1028 if (status == PJMEDIA_SDPNEG_EINVANSMEDIA) { 1029 offer->media[omi]->desc.port = 0;1029 pjmedia_sdp_media_deactivate(pool, offer->media[omi]); 1030 1030 continue; 1031 1031 } 1032 1033 if (status != PJ_SUCCESS) 1032 /* No common format in the answer media. */ 1033 else if (status == PJMEDIA_SDPNEG_EANSNOMEDIA) { 1034 pjmedia_sdp_media_deactivate(pool, offer->media[omi]); 1035 pjmedia_sdp_media_deactivate(pool, answer->media[ami]); 1036 } 1037 /* Return the error code, for other errors. */ 1038 else if (status != PJ_SUCCESS) { 1034 1039 return status; 1040 } 1035 1041 1036 1042 if (offer->media[omi]->desc.port != 0) … … 1065 1071 pj_str_t pt_amr_need_adapt = {NULL, 0}; 1066 1072 1067 /* If offer has zero port, just clone the offer and update direction*/1073 /* If offer has zero port, just clone the offer */ 1068 1074 if (offer->desc.port == 0) { 1069 answer = pjmedia_sdp_media_clone(pool, offer); 1070 remove_all_media_directions(answer); 1071 update_media_direction(pool, offer, answer); 1075 answer = pjmedia_sdp_media_clone_deactivate(pool, offer); 1072 1076 *p_answer = answer; 1073 1077 return PJ_SUCCESS; … … 1357 1361 * Reject the offer by setting the port to zero in the answer. 1358 1362 */ 1359 //pjmedia_sdp_attr *a;1360 1361 1363 /* For simplicity in the construction of the answer, we'll 1362 1364 * just clone the media from the offer. Anyway receiver will … … 1364 1366 * number is zero. 1365 1367 */ 1366 am = pjmedia_sdp_media_clone(pool, om); 1367 am->desc.port = 0; 1368 1369 // Just set port zero to disable stream without set it to inactive. 1370 /* Remove direction attribute, and replace with inactive */ 1371 remove_all_media_directions(am); 1372 //a = pjmedia_sdp_attr_create(pool, "inactive", NULL); 1373 //pjmedia_sdp_media_add_attr(am, a); 1374 1375 /* Then update direction */ 1376 update_media_direction(pool, om, am); 1377 1368 am = pjmedia_sdp_media_clone_deactivate(pool, om); 1378 1369 } else { 1379 1370 /* The answer is in am */ … … 1439 1430 neg->active_local_sdp = active; 1440 1431 neg->active_remote_sdp = neg->neg_remote_sdp; 1441 1442 1432 } 1443 1433 } else {
Note: See TracChangeset
for help on using the changeset viewer.