Changeset 5878 for pjproject/trunk/pjsip/src/pjsua-lib/pjsua_media.c
- Timestamp:
- Sep 4, 2018 3:12:58 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsua-lib/pjsua_media.c
r5871 r5878 1359 1359 */ 1360 1360 static void sort_media2(const pjsua_call_media *call_med, 1361 pj_bool_t check_tp, 1361 1362 unsigned call_med_cnt, 1362 1363 pjmedia_type type, … … 1387 1388 1388 1389 /* Is it active? */ 1389 if ( !call_med[i].tp) {1390 if (check_tp && !call_med[i].tp) { 1390 1391 score[i] -= 10; 1391 1392 } … … 2047 2048 * Otherwise, apply media count from the call setting directly. 2048 2049 */ 2049 if (reinit && (call->opt.flag & PJSUA_CALL_REINIT_MEDIA) == 0) { 2050 if (reinit) { 2051 pj_bool_t sort_check_tp; 2052 2053 /* Media sorting below will check transport, i.e: media without 2054 * transport will have lower priority. If PJSUA_CALL_REINIT_MEDIA 2055 * is set, we must not check transport. 2056 */ 2057 sort_check_tp = !(call->opt.flag & PJSUA_CALL_REINIT_MEDIA); 2050 2058 2051 2059 /* We are sending reoffer, check media count for each media type 2052 2060 * from the existing call media list. 2053 2061 */ 2054 sort_media2(call->media_prov, call->med_prov_cnt,2062 sort_media2(call->media_prov, sort_check_tp, call->med_prov_cnt, 2055 2063 PJMEDIA_TYPE_AUDIO, maudidx, &maudcnt, &mtotaudcnt); 2056 2064 … … 2058 2066 //pj_assert(maudcnt > 0); 2059 2067 2060 sort_media2(call->media_prov, call->med_prov_cnt,2068 sort_media2(call->media_prov, sort_check_tp, call->med_prov_cnt, 2061 2069 PJMEDIA_TYPE_VIDEO, mvididx, &mvidcnt, &mtotvidcnt); 2062 2070 … … 2088 2096 } 2089 2097 mvidcnt = call->opt.vid_cnt; 2098 2099 /* In case of media reinit, 'med_prov_cnt' may be decreased 2100 * because the new call->opt says so. As media count should 2101 * never decrease, we should verify 'med_prov_cnt' to be 2102 * at least equal to 'med_cnt' (see also #1987). 2103 */ 2104 if ((call->opt.flag & PJSUA_CALL_REINIT_MEDIA) && 2105 call->med_prov_cnt < call->med_cnt) 2106 { 2107 call->med_prov_cnt = call->med_cnt; 2108 } 2090 2109 2091 2110 } else { … … 2113 2132 } 2114 2133 #endif 2115 }2116 2117 /* In case of media reinit, 'med_prov_cnt' may be decreased2118 * because the new call->opt says so. As media count should2119 * never decrease, we should verify 'med_prov_cnt' to be2120 * at least equal to 'med_cnt' (see also #1987).2121 */2122 if (reinit && (call->opt.flag & PJSUA_CALL_REINIT_MEDIA) &&2123 call->med_prov_cnt < call->med_cnt)2124 {2125 call->med_prov_cnt = call->med_cnt;2126 2134 } 2127 2135 }
Note: See TracChangeset
for help on using the changeset viewer.