diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index fa3844e6a8..70140ffa15 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -500,11 +500,25 @@ jobs: set LIB=%LIB%;%OPENSSL_DIR%\lib msbuild pjproject-vs14.sln /p:PlatformToolset=v143 /p:Configuration=Release /p:Platform=win32 /p:UseEnv=true shell: cmd + - name: build test tools cmp_wav + run: | + set /P OPENSSL_DIR=timer_dups, ht->max_size * sizeof(pj_timer_entry_dup)); for (i = 0; i < ht->cur_size; i++) { - int idx = ht->heap[i] - ht->timer_dups; + int idx = (int)(ht->heap[i] - ht->timer_dups); // Point to the address in the new array pj_assert(idx >= 0 && idx < (int)ht->max_size); new_heap[i] = &new_timer_dups[idx]; diff --git a/pjmedia/include/pjmedia/config.h b/pjmedia/include/pjmedia/config.h index 91ef976a23..d2a3c15dd3 100644 --- a/pjmedia/include/pjmedia/config.h +++ b/pjmedia/include/pjmedia/config.h @@ -1216,7 +1216,7 @@ * Maximum size in bytes of storage buffer of a transport specific info. */ #ifndef PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE -# define PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE (36*sizeof(long)) +# define PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE (50*sizeof(long)) #endif diff --git a/pjmedia/src/pjmedia-codec/and_aud_mediacodec.cpp b/pjmedia/src/pjmedia-codec/and_aud_mediacodec.cpp index db14b9b456..08faf07bb7 100644 --- a/pjmedia/src/pjmedia-codec/and_aud_mediacodec.cpp +++ b/pjmedia/src/pjmedia-codec/and_aud_mediacodec.cpp @@ -1071,7 +1071,6 @@ static pj_status_t and_media_codec_encode(pjmedia_codec *codec, pj_size_t tx = 0; pj_int16_t *pcm_in = (pj_int16_t*)input->buf; pj_uint8_t *bits_out = (pj_uint8_t*) output->buf; - pj_uint8_t pt; /* Invoke external VAD if codec has no internal VAD */ if (codec_data->vad && codec_data->vad_enabled) { @@ -1101,7 +1100,6 @@ static pj_status_t and_media_codec_encode(pjmedia_codec *codec, } nsamples = input->size >> 1; samples_per_frame = and_media_data->samples_per_frame; - pt = and_media_data->pt; nframes = nsamples / samples_per_frame; PJ_ASSERT_RETURN(nsamples % samples_per_frame == 0, @@ -1230,7 +1228,6 @@ static pj_status_t and_media_codec_decode(pjmedia_codec *codec, unsigned samples_per_frame; unsigned i; - pj_uint8_t pt; pj_ssize_t buf_idx = -1; pj_uint8_t *input_buf; pj_size_t input_size; @@ -1241,7 +1238,6 @@ static pj_status_t and_media_codec_decode(pjmedia_codec *codec, pjmedia_frame input_; pj_bzero(&input_, sizeof(pjmedia_frame)); - pt = and_media_data->pt; samples_per_frame = and_media_data->samples_per_frame; PJ_ASSERT_RETURN(output_buf_len >= samples_per_frame << 1, diff --git a/pjmedia/src/pjmedia-codec/and_vid_mediacodec.cpp b/pjmedia/src/pjmedia-codec/and_vid_mediacodec.cpp index 0cd92a618d..5da5fb620c 100644 --- a/pjmedia/src/pjmedia-codec/and_vid_mediacodec.cpp +++ b/pjmedia/src/pjmedia-codec/and_vid_mediacodec.cpp @@ -1513,10 +1513,8 @@ static pj_status_t open_h264(and_media_codec_data *and_media_data) for (i = h264_fmtp.sprop_param_sets_len - code_size; i >= code_size; i--) { - pj_bool_t found = PJ_TRUE; for (j = 0; j < code_size; j++) { if (h264_fmtp.sprop_param_sets[i + j] != start_code[j]) { - found = PJ_FALSE; break; } } diff --git a/pjmedia/src/pjmedia-codec/openh264.cpp b/pjmedia/src/pjmedia-codec/openh264.cpp index 5690c76a01..8ce675b493 100644 --- a/pjmedia/src/pjmedia-codec/openh264.cpp +++ b/pjmedia/src/pjmedia-codec/openh264.cpp @@ -902,7 +902,7 @@ static int write_yuv(pj_uint8_t *buf, if (i < iHeight) return -1; - return dst - buf; + return (int)(dst - buf); } static pj_status_t oh264_got_decoded_frame(pjmedia_vid_codec *codec, @@ -1014,7 +1014,7 @@ static pj_status_t oh264_codec_decode(pjmedia_vid_codec *codec, pj_memcpy( oh264_data->dec_buf + whole_len, (pj_uint8_t*)packets[i].buf, packets[i].size); - whole_len += packets[i].size; + whole_len += (unsigned)packets[i].size; } } else { diff --git a/pjmedia/src/pjmedia-codec/vpx_packetizer.c b/pjmedia/src/pjmedia-codec/vpx_packetizer.c index e2f4eb380a..a1adbc778c 100644 --- a/pjmedia/src/pjmedia-codec/vpx_packetizer.c +++ b/pjmedia/src/pjmedia-codec/vpx_packetizer.c @@ -89,8 +89,8 @@ PJ_DEF(pj_status_t) pjmedia_vpx_packetize(const pjmedia_vpx_packetizer *pktz, { unsigned payload_desc_size = 1; unsigned max_size = pktz->cfg.mtu - payload_desc_size; - unsigned remaining_size = bits_len - *bits_pos; - unsigned out_size = *payload_len; + unsigned remaining_size = (unsigned)bits_len - *bits_pos; + unsigned out_size = (unsigned)*payload_len; pj_uint8_t *bits = *payload; *payload_len = PJ_MIN(remaining_size, max_size); diff --git a/pjmedia/src/pjmedia/avi_player.c b/pjmedia/src/pjmedia/avi_player.c index 453fb339c1..e22a148119 100644 --- a/pjmedia/src/pjmedia/avi_player.c +++ b/pjmedia/src/pjmedia/avi_player.c @@ -900,7 +900,7 @@ static pj_status_t avi_get_frame(pjmedia_port *this_port, fport->eof = PJ_TRUE; size_to_read -= size_read; - if (size_to_read == frame->size) { + if (size_to_read == (pj_ssize_t)frame->size) { /* Frame is empty */ frame->type = PJMEDIA_FRAME_TYPE_NONE; frame->size = 0; diff --git a/pjmedia/src/pjmedia/converter_libyuv.c b/pjmedia/src/pjmedia/converter_libyuv.c index 2b0f540d29..8155f26742 100644 --- a/pjmedia/src/pjmedia/converter_libyuv.c +++ b/pjmedia/src/pjmedia/converter_libyuv.c @@ -689,7 +689,7 @@ static pj_status_t libyuv_conv_convert2( pjmedia_video_apply_fmt_param *ap = &src_fmt_info->apply_param; unsigned j; for (j = 0; j < src_fmt_info->vid_fmt_info->plane_cnt; ++j) { - int y = src_pos->y * ap->plane_bytes[j] / ap->strides[j] / + int y = src_pos->y * (int)ap->plane_bytes[j] / ap->strides[j] / ap->size.h; ap->planes[j] += y * ap->strides[j] + src_pos->x * ap->strides[j] / ap->size.w; @@ -701,7 +701,7 @@ static pj_status_t libyuv_conv_convert2( unsigned j; for (j = 0; j < dst_fmt_info->vid_fmt_info->plane_cnt; ++j) { - int y = dst_pos->y * ap->plane_bytes[j] / ap->strides[j] / + int y = dst_pos->y * (int)ap->plane_bytes[j] / ap->strides[j] / ap->size.h; ap->planes[j] += y * ap->strides[j] + dst_pos->x * ap->strides[j] / ap->size.w; diff --git a/pjmedia/src/pjmedia/event.c b/pjmedia/src/pjmedia/event.c index 335a3d61bd..f27bf44919 100644 --- a/pjmedia/src/pjmedia/event.c +++ b/pjmedia/src/pjmedia/event.c @@ -334,6 +334,7 @@ pjmedia_event_unsubscribe(pjmedia_event_mgr *mgr, esub *sub; unsigned i = 0, j = 0; + PJ_UNUSED_ARG(j); PJ_ASSERT_RETURN(cb, PJ_EINVAL); if (!mgr) mgr = pjmedia_event_mgr_instance(); diff --git a/pjmedia/src/pjmedia/format.c b/pjmedia/src/pjmedia/format.c index 3b6f3f7929..89573f640d 100644 --- a/pjmedia/src/pjmedia/format.c +++ b/pjmedia/src/pjmedia/format.c @@ -474,7 +474,7 @@ PJ_DEF(pj_status_t) pjmedia_video_format_fill_black(const pjmedia_format *fmt, vafp.plane_bytes[1]); } else if (fmt_id == PJMEDIA_FORMAT_YUY2) { pj_uint8_t *ptr = (pj_uint8_t *)buf; - unsigned i; + pj_size_t i; for (i = vafp.framebytes / 2; i > 0; i--) { *(ptr++) = 0x10; *(ptr++) = 0x80; diff --git a/pjmedia/src/pjmedia/jbuf.c b/pjmedia/src/pjmedia/jbuf.c index 96c218cf12..42e7160432 100644 --- a/pjmedia/src/pjmedia/jbuf.c +++ b/pjmedia/src/pjmedia/jbuf.c @@ -634,7 +634,7 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_set_ptime( pjmedia_jbuf *jb, jb->jb_frame_ptime = ptime; jb->jb_min_shrink_gap = PJMEDIA_JBUF_DISC_MIN_GAP / ptime; - jb->jb_max_burst = PJ_MAX(MAX_BURST_MSEC / ptime, + jb->jb_max_burst = (int)PJ_MAX(MAX_BURST_MSEC / ptime, jb->jb_max_count*3/4); return PJ_SUCCESS; @@ -1193,7 +1193,7 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_get_state( const pjmedia_jbuf *jb, state->frame_size = (unsigned)jb->jb_frame_size; state->min_prefetch = jb->jb_min_prefetch; state->max_prefetch = jb->jb_max_prefetch; - state->max_count = jb->jb_max_count; + state->max_count = (unsigned)jb->jb_max_count; state->burst = jb->jb_eff_level; state->prefetch = jb->jb_prefetch; diff --git a/pjmedia/src/pjmedia/rtcp.c b/pjmedia/src/pjmedia/rtcp.c index 28d5ad177e..4f40e7fe10 100644 --- a/pjmedia/src/pjmedia/rtcp.c +++ b/pjmedia/src/pjmedia/rtcp.c @@ -774,7 +774,7 @@ static void parse_rtcp_bye(pjmedia_rtcp_session *sess, */ reason.slen = PJ_MIN(sizeof(sess->stat.peer_sdes_buf_), *((pj_uint8_t*)pkt+8)); - reason.slen = PJ_MIN(reason.slen, size-9); + reason.slen = PJ_MIN(reason.slen, (pj_ssize_t)(size-9)); pj_memcpy(sess->stat.peer_sdes_buf_, ((pj_uint8_t*)pkt+9), reason.slen); diff --git a/pjmedia/src/pjmedia/rtcp_fb.c b/pjmedia/src/pjmedia/rtcp_fb.c index 21f4e2e8ab..a2a0140f34 100644 --- a/pjmedia/src/pjmedia/rtcp_fb.c +++ b/pjmedia/src/pjmedia/rtcp_fb.c @@ -172,7 +172,7 @@ PJ_DEF(pj_status_t) pjmedia_rtcp_fb_build_rpsi( PJ_ASSERT_RETURN(session && buf && length && rpsi, PJ_EINVAL); - bitlen = rpsi->rpsi_bit_len + 16; + bitlen = (unsigned)rpsi->rpsi_bit_len + 16; padlen = (32 - (bitlen % 32)) % 32; len = (3 + (bitlen+padlen)/32) * 4; if (len > *length) diff --git a/pjmedia/src/pjmedia/rtp.c b/pjmedia/src/pjmedia/rtp.c index d052aa8545..18917f18b5 100644 --- a/pjmedia/src/pjmedia/rtp.c +++ b/pjmedia/src/pjmedia/rtp.c @@ -190,7 +190,7 @@ PJ_DEF(pj_status_t) pjmedia_rtp_decode_rtp2( /* Decode RTP extension. */ if ((*hdr)->x) { - if (offset + sizeof (pjmedia_rtp_ext_hdr) > pkt_len) + if (offset + sizeof (pjmedia_rtp_ext_hdr) > (unsigned)pkt_len) return PJMEDIA_RTP_EINLEN; dec_hdr->ext_hdr = (pjmedia_rtp_ext_hdr*)(((pj_uint8_t*)pkt) + offset); dec_hdr->ext = (pj_uint32_t*)(dec_hdr->ext_hdr + 1); diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c index 0a80fd5a5b..31446b5424 100644 --- a/pjmedia/src/pjmedia/sdp.c +++ b/pjmedia/src/pjmedia/sdp.c @@ -706,7 +706,7 @@ static pj_ssize_t print_attr(const pjmedia_sdp_attr *attr, return p-buf; } -static int print_media_desc( pjmedia_sdp_media *m, char *buf, int len) +static int print_media_desc(const pjmedia_sdp_media *m, char *buf, pj_size_t len) { char *p = buf; char *end = buf+len; @@ -714,7 +714,7 @@ static int print_media_desc( pjmedia_sdp_media *m, char *buf, int len) int printed; /* check length for the "m=" line. */ - if (len < m->desc.media.slen+m->desc.transport.slen+12+24) { + if (len < (pj_size_t)m->desc.media.slen+m->desc.transport.slen+12+24) { return -1; } *p++ = 'm'; /* m= */ diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c index 1cd594552e..a0be058db6 100644 --- a/pjmedia/src/pjmedia/stream.c +++ b/pjmedia/src/pjmedia/stream.c @@ -780,7 +780,8 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) stream->dec_buf_count); } } else if (use_dec_buf) { - stream->dec_buf_count = frame_out.size / sizeof(pj_int16_t); + stream->dec_buf_count = (unsigned)frame_out.size / + sizeof(pj_int16_t); } if (stream->jb_last_frm != frame_type) { diff --git a/pjmedia/src/pjmedia/transport_srtp_dtls.c b/pjmedia/src/pjmedia/transport_srtp_dtls.c index 812b59f3bf..9242c59500 100644 --- a/pjmedia/src/pjmedia/transport_srtp_dtls.c +++ b/pjmedia/src/pjmedia/transport_srtp_dtls.c @@ -1315,11 +1315,11 @@ static pj_status_t dtls_encode_sdp( pjmedia_transport *tp, } if (pj_sockaddr_has_addr(&ds->rem_addr) && pj_sockaddr_has_addr(&rem_rtp) && - pj_sockaddr_cmp(&ds->rem_addr, &rem_rtp) || - (!use_rtcp_mux && - pj_sockaddr_has_addr(&ds->rem_rtcp) && - pj_sockaddr_has_addr(&rem_rtcp) && - pj_sockaddr_cmp(&ds->rem_rtcp, &rem_rtcp))) + (pj_sockaddr_cmp(&ds->rem_addr, &rem_rtp) || + (!use_rtcp_mux && + pj_sockaddr_has_addr(&ds->rem_rtcp) && + pj_sockaddr_has_addr(&rem_rtcp) && + pj_sockaddr_cmp(&ds->rem_rtcp, &rem_rtcp)))) { rem_addr_changed = PJ_TRUE; } diff --git a/pjmedia/src/pjmedia/transport_udp.c b/pjmedia/src/pjmedia/transport_udp.c index 144f160963..4094d2262e 100644 --- a/pjmedia/src/pjmedia/transport_udp.c +++ b/pjmedia/src/pjmedia/transport_udp.c @@ -1343,6 +1343,9 @@ static pj_status_t transport_simulate_lost(pjmedia_transport *tp, static pj_status_t transport_restart(pj_bool_t is_rtp, struct transport_udp *udp) { + PJ_UNUSED_ARG(udp); + PJ_UNUSED_ARG(is_rtp); + return PJ_ENOTSUP; /* This code is disabled for the following reason (see also #2881): diff --git a/pjmedia/src/pjmedia/vid_stream.c b/pjmedia/src/pjmedia/vid_stream.c index 5f629b0fee..b8c9efa771 100644 --- a/pjmedia/src/pjmedia/vid_stream.c +++ b/pjmedia/src/pjmedia/vid_stream.c @@ -946,7 +946,7 @@ static void on_rx_rtp( pjmedia_tp_cb_param *param) * So we need to compare the last decoded frame's timestamp with * the current timestamp. */ - else if (ts_diff > stream->dec_max_delay) { + else if (ts_diff > (long)stream->dec_max_delay) { can_decode = PJ_TRUE; } diff --git a/pjmedia/src/pjmedia/wav_player.c b/pjmedia/src/pjmedia/wav_player.c index 8fee0a5fe5..2bd38bdbf3 100644 --- a/pjmedia/src/pjmedia/wav_player.c +++ b/pjmedia/src/pjmedia/wav_player.c @@ -346,7 +346,7 @@ PJ_DEF(pj_status_t) pjmedia_wav_player_port_create( pj_pool_t *pool, * try to play whatever data is there instead of immediately returning * error. */ - wave_hdr.data_hdr.len = fport->fsize - fport->start_data; + wave_hdr.data_hdr.len = (pj_uint32_t)fport->fsize - fport->start_data; // pj_file_close(fport->fd); // return PJMEDIA_EWAVEUNSUPP; } diff --git a/pjnath/src/pjnath/ice_strans.c b/pjnath/src/pjnath/ice_strans.c index ee6fd88320..bec2cdddde 100644 --- a/pjnath/src/pjnath/ice_strans.c +++ b/pjnath/src/pjnath/ice_strans.c @@ -1769,7 +1769,7 @@ static pj_status_t use_buffer( pj_ice_strans *ice_st, pj_status_t status; /* Allocate send buffer, if necessary. */ - status = alloc_send_buf(ice_st, data_len); + status = alloc_send_buf(ice_st, (unsigned)data_len); if (status != PJ_SUCCESS) return status; diff --git a/pjnath/src/pjnath/turn_sock.c b/pjnath/src/pjnath/turn_sock.c index 6c47992115..95139a9865 100644 --- a/pjnath/src/pjnath/turn_sock.c +++ b/pjnath/src/pjnath/turn_sock.c @@ -1506,7 +1506,7 @@ static pj_bool_t dataconn_on_data_read(pj_activesock_t *asock, if (conn->state == DATACONN_STATE_READY) { /* Application data */ if (turn_sock->cb.on_rx_data) { - (*turn_sock->cb.on_rx_data)(turn_sock, data, *remainder, + (*turn_sock->cb.on_rx_data)(turn_sock, data, (unsigned)*remainder, &conn->peer_addr, conn->peer_addr_len); } diff --git a/pjsip-apps/src/pjsua/android/app/build.gradle b/pjsip-apps/src/pjsua/android/app/build.gradle index 35fa39c765..e5fcd01521 100644 --- a/pjsip-apps/src/pjsua/android/app/build.gradle +++ b/pjsip-apps/src/pjsua/android/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 15 + compileSdkVersion 26 buildToolsVersion "23.0.3" defaultConfig { applicationId "org.pjsip.pjsua" - minSdkVersion 15 - targetSdkVersion 15 + minSdkVersion 23 + targetSdkVersion 26 ndk { moduleName "libpjsua" diff --git a/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java b/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java index b3e7e458f1..b7114ce8c4 100644 --- a/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java +++ b/pjsip-apps/src/pjsua/android/app/src/main/java/MainActivity.java @@ -23,6 +23,8 @@ import android.app.Activity; import android.content.pm.ApplicationInfo; +import android.hardware.camera2.CameraManager; +import android.content.Context; import android.os.Bundle; import android.util.Log; import android.view.SurfaceHolder; @@ -30,6 +32,7 @@ import android.os.Handler; import android.os.Message; import android.widget.TextView; +import org.pjsip.PjCameraInfo2; class CONST { public static final String LIB_FILENAME = "pjsua"; @@ -160,6 +163,8 @@ private void updateStatus(String output) { protected void onCreate(Bundle savedInstanceState) { LOG.DEBUG(ui_handler, "=== Activity::onCreate() ==="); super.onCreate(savedInstanceState); + CameraManager cm = (CameraManager)getSystemService(Context.CAMERA_SERVICE); + PjCameraInfo2.SetCameraManager(cm); init_view(); diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index c2121d6952..af61fdb1e9 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -2045,11 +2045,15 @@ static pj_status_t app_destroy(void) /* Close avi devs and ports */ for (i=0; isubmenu_cnt; ++i) { - char menu_id[4]; + char menu_id[11]; pj_ansi_sprintf(menu_id, "%u", i); print_menu("", menu_id, menu->submenus[i]); } diff --git a/pjsip-apps/src/samples/siprtp.c b/pjsip-apps/src/samples/siprtp.c index 6ba6691497..4fb7f6705a 100644 --- a/pjsip-apps/src/samples/siprtp.c +++ b/pjsip-apps/src/samples/siprtp.c @@ -623,8 +623,8 @@ static void process_incoming_call(pjsip_rx_data *rdata) pjsip_response_addr res_addr; pjsip_get_response_addr(tdata->pool, rdata, &res_addr); - pj_status_t status = pjsip_endpt_send_response(app.sip_endpt, &res_addr, tdata, - NULL, NULL); + status = pjsip_endpt_send_response(app.sip_endpt, &res_addr, tdata, + NULL, NULL); if (status != PJ_SUCCESS) pjsip_tx_data_dec_ref(tdata); } else { @@ -733,7 +733,7 @@ static pj_bool_t on_rx_request( pjsip_rx_data *rdata ) static void timer_disconnect_call( pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry) { - struct call *call = entry->user_data; + struct call *call = (struct call *)(entry->user_data); PJ_UNUSED_ARG(timer_heap); @@ -746,7 +746,7 @@ static void timer_disconnect_call( pj_timer_heap_t *timer_heap, static void call_on_state_changed( pjsip_inv_session *inv, pjsip_event *e) { - struct call *call = inv->mod_data[mod_siprtp.id]; + struct call *call = (struct call *)inv->mod_data[mod_siprtp.id]; PJ_UNUSED_ARG(e); @@ -1021,7 +1021,7 @@ static pj_status_t create_sdp( pj_pool_t *pool, pjmedia_transport_get_info(audio->transport, &tpinfo); /* Create and initialize basic SDP session */ - sdp = pj_pool_zalloc (pool, sizeof(pjmedia_sdp_session)); + sdp = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_session); pj_gettimeofday(&tv); sdp->origin.user = pj_str("pjsip-siprtp"); @@ -1034,7 +1034,7 @@ static pj_status_t create_sdp( pj_pool_t *pool, /* Since we only support one media stream at present, put the * SDP connection line in the session level. */ - sdp->conn = pj_pool_zalloc (pool, sizeof(pjmedia_sdp_conn)); + sdp->conn = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_conn); sdp->conn->net_type = pj_str("IN"); sdp->conn->addr_type = pj_str("IP4"); sdp->conn->addr = app.local_addr; @@ -1047,7 +1047,7 @@ static pj_status_t create_sdp( pj_pool_t *pool, /* Create media stream 0: */ sdp->media_count = 1; - m = pj_pool_zalloc (pool, sizeof(pjmedia_sdp_media)); + m = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_media); sdp->media[0] = m; /* Standard media info: */ @@ -1076,7 +1076,7 @@ static pj_status_t create_sdp( pj_pool_t *pool, } /* Add sendrecv attribute. */ - attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); + attr = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_attr); attr->name = pj_str("sendrecv"); m->attr[m->attr_count++] = attr; @@ -1086,12 +1086,12 @@ static pj_status_t create_sdp( pj_pool_t *pool, */ m->desc.fmt[m->desc.fmt_count++] = pj_str("121"); /* Add rtpmap. */ - attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); + attr = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_attr); attr->name = pj_str("rtpmap"); attr->value = pj_str("121 telephone-event/8000"); m->attr[m->attr_count++] = attr; /* Add fmtp */ - attr = pj_pool_zalloc(pool, sizeof(pjmedia_sdp_attr)); + attr = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_attr); attr->name = pj_str("fmtp"); attr->value = pj_str("121 0-15"); m->attr[m->attr_count++] = attr; @@ -1190,7 +1190,7 @@ static void on_rx_rtp(void *user_data, void *pkt, pj_ssize_t size) const void *payload; unsigned payload_len; - strm = user_data; + strm = (struct media_stream *)user_data; /* Discard packet if media is inactive */ if (!strm->active) @@ -1229,7 +1229,7 @@ static void on_rx_rtcp(void *user_data, void *pkt, pj_ssize_t size) { struct media_stream *strm; - strm = user_data; + strm = (struct media_stream *)user_data; /* Discard packet if media is inactive */ if (!strm->active) @@ -1254,7 +1254,7 @@ static void on_rx_rtcp(void *user_data, void *pkt, pj_ssize_t size) static int media_thread(void *arg) { enum { RTCP_INTERVAL = 5000, RTCP_RAND = 2000 }; - struct media_stream *strm = arg; + struct media_stream *strm = (struct media_stream *)arg; char packet[1500]; unsigned msec_interval; pj_timestamp freq, next_rtp, next_rtcp; @@ -1403,7 +1403,7 @@ static void call_on_media_update( pjsip_inv_session *inv, struct codec *codec_desc = NULL; unsigned i; - call = inv->mod_data[mod_siprtp.id]; + call = (struct call *)inv->mod_data[mod_siprtp.id]; audio = &call->media[0]; /* If this is a mid-call media update, then destroy existing media */ diff --git a/pjsip-apps/src/samples/vid_streamutil.c b/pjsip-apps/src/samples/vid_streamutil.c index 68a1bc08a7..06959ee8a9 100644 --- a/pjsip-apps/src/samples/vid_streamutil.c +++ b/pjsip-apps/src/samples/vid_streamutil.c @@ -128,6 +128,7 @@ static pj_status_t init_codecs(pj_pool_factory *pf) /* To suppress warning about unused var when all codecs are disabled */ PJ_UNUSED_ARG(status); + PJ_UNUSED_ARG(pf); #if defined(PJMEDIA_HAS_OPENH264_CODEC) && PJMEDIA_HAS_OPENH264_CODEC != 0 status = pjmedia_codec_openh264_vid_init(NULL, pf); diff --git a/pjsip-apps/src/swig/java/android/app/build.gradle b/pjsip-apps/src/swig/java/android/app/build.gradle index 211188db5d..8c0e65eb75 100644 --- a/pjsip-apps/src/swig/java/android/app/build.gradle +++ b/pjsip-apps/src/swig/java/android/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 26 + compileSdkVersion 29 defaultConfig { applicationId "org.pjsip.pjsua2.app" minSdkVersion 23 - targetSdkVersion 26 + targetSdkVersion 29 } buildTypes { diff --git a/pjsip-apps/src/swig/java/android/pjsua2/build.gradle b/pjsip-apps/src/swig/java/android/pjsua2/build.gradle index 73aaecf3fe..eb286f6074 100644 --- a/pjsip-apps/src/swig/java/android/pjsua2/build.gradle +++ b/pjsip-apps/src/swig/java/android/pjsua2/build.gradle @@ -3,11 +3,11 @@ plugins { } android { - compileSdkVersion 26 + compileSdkVersion 29 defaultConfig { minSdkVersion 23 - targetSdkVersion 26 + targetSdkVersion 29 ndk { diff --git a/pjsip/src/pjsip/sip_auth_client.c b/pjsip/src/pjsip/sip_auth_client.c index d43f47d2be..e49f16364b 100644 --- a/pjsip/src/pjsip/sip_auth_client.c +++ b/pjsip/src/pjsip/sip_auth_client.c @@ -558,7 +558,7 @@ static void update_digest_session( pjsip_cached_auth *cached_auth, PJSIP_AUTH_CNONCE_USE_DIGITS_ONLY!=0 if (pj_strchr(&cached_auth->cnonce, '-')) { /* remove hyphen character. */ - int w, r, len = pj_strlen(&cached_auth->cnonce); + pj_size_t w, r, len = pj_strlen(&cached_auth->cnonce); char *s = cached_auth->cnonce.ptr; w = r = 0; diff --git a/pjsip/src/pjsip/sip_multipart.c b/pjsip/src/pjsip/sip_multipart.c index 9d8be55b03..451e509797 100644 --- a/pjsip/src/pjsip/sip_multipart.c +++ b/pjsip/src/pjsip/sip_multipart.c @@ -434,7 +434,7 @@ pjsip_multipart_find_part_by_header_str(pj_pool_t *pool, pj_str_t found_hdr_value; pj_size_t expected_hdr_slen; pj_size_t buf_size; - int hdr_name_len; + pj_ssize_t hdr_name_len; #define REASONABLE_PADDING 32 #define SEPARATOR_LEN 2 /* Must specify mandatory params */ @@ -478,7 +478,7 @@ pjsip_multipart_find_part_by_header_str(pj_pool_t *pool, * If the buffer was too small (slen = -1) or the result wasn't * the same length as the search header, it can't be a match. */ - if (found_hdr_str.slen != expected_hdr_slen) { + if (found_hdr_str.slen != (pj_ssize_t)expected_hdr_slen) { continue; } /* @@ -504,7 +504,6 @@ pjsip_multipart_find_part_by_header(pj_pool_t *pool, void *search_for, const pjsip_multipart_part *start) { - struct multipart_data *m_data; pjsip_hdr *search_hdr = search_for; pj_str_t search_buf; @@ -587,7 +586,6 @@ pjsip_multipart_find_part_by_cid_str(pj_pool_t *pool, struct multipart_data *m_data; pjsip_multipart_part *part; pjsip_generic_string_hdr *found_hdr; - pj_str_t found_hdr_value; static pj_str_t hdr_name = { "Content-ID", 10}; pj_str_t hdr_value; diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c index a7b8affd76..cb033d72e9 100644 --- a/pjsip/src/pjsip/sip_transport.c +++ b/pjsip/src/pjsip/sip_transport.c @@ -1843,7 +1843,7 @@ PJ_DEF(unsigned) pjsip_tpmgr_get_transport_count(pjsip_tpmgr *mgr) itr = pj_hash_first(mgr->table, &itr_val); while (itr) { transport *tp_entry = (transport *)pj_hash_this(mgr->table, itr); - nr_of_transports += pj_list_size(tp_entry); + nr_of_transports += (int)pj_list_size(tp_entry); itr = pj_hash_next(mgr->table, itr); } @@ -2075,8 +2075,8 @@ PJ_DEF(pj_ssize_t) pjsip_tpmgr_receive_packet( pjsip_tpmgr *mgr, pj_exception_id_name(err->except_code), (int)err->hname.slen, err->hname.ptr, err->line, err->col); - if (len >= (int)sizeof(buf)-tmp.slen) { - len = (int)sizeof(buf)-tmp.slen; + if (len >= (int)sizeof(buf)-(int)tmp.slen) { + len = (int)sizeof(buf)-(int)tmp.slen; } if (len > 0) { tmp.slen += len; diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 743fb77e18..a95a87aa55 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -827,7 +827,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, pj_pool_t *tmp_pool = NULL; pjsip_dialog *dlg = NULL; pjsua_acc *acc; - pjsua_call *call; + pjsua_call *call = NULL; int call_id = -1; pj_str_t contact; pj_status_t status; @@ -1011,7 +1011,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, on_error: - if (dlg) { + if (dlg && call) { /* This may destroy the dialog */ pjsip_dlg_dec_lock(dlg); call->async_call.dlg = NULL; @@ -1700,8 +1700,8 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsip_response_addr res_addr; pjsip_get_response_addr(response->pool, rdata, &res_addr); - pj_status_t status = pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, - NULL, NULL); + status = pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, + NULL, NULL); if (status != PJ_SUCCESS) pjsip_tx_data_dec_ref(response); } else { diff --git a/pjsip/src/pjsua-lib/pjsua_dump.c b/pjsip/src/pjsua-lib/pjsua_dump.c index bd8ce90ddd..4d4d182c98 100644 --- a/pjsip/src/pjsua-lib/pjsua_dump.c +++ b/pjsip/src/pjsua-lib/pjsua_dump.c @@ -968,7 +968,7 @@ PJ_DEF(pj_status_t) pjsua_call_dump( pjsua_call_id call_id, print_call(indent, call_id, tmp, sizeof(tmp)); len = (int)pj_ansi_strlen(tmp); - if (len + 3 > maxlen) len = maxlen - 3; + if (len + 3 > (int)maxlen) len = maxlen - 3; pj_ansi_strncpy(buffer, tmp, len); p += len; diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index bd1f2c2289..a737f0dad9 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -1650,10 +1650,7 @@ pj_status_t call_media_on_event(pjmedia_event *event, /* Stream decoder changed format, update all conf listeners * by reconnecting. */ - pjsua_conf_port_id dec_pid = call_med->strm.v.strm_dec_slot; pjmedia_port *strm_dec; - pjsua_vid_conf_port_info pi; - unsigned i; status = pjmedia_vid_stream_get_port(call_med->strm.v.stream, PJMEDIA_DIR_DECODING, diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index ae4cf4f0b3..78f8b57001 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -1404,7 +1404,6 @@ void pjsua_vid_stop_stream(pjsua_call_media *call_med) if (eve->call_id == (int)call_med->call->index && eve->med_idx == call_med->idx) { - unsigned num_locks; pjsip_dialog *dlg = call_med->call->inv ? call_med->call->inv->dlg : NULL; diff --git a/pjsip/src/pjsua2/account.cpp b/pjsip/src/pjsua2/account.cpp index 59ccb7fde3..e7a6d4eaad 100644 --- a/pjsip/src/pjsua2/account.cpp +++ b/pjsip/src/pjsua2/account.cpp @@ -76,7 +76,7 @@ pjmedia_rtcp_fb_setting RtcpFbConfig::toPj() const pj_bzero(&setting, sizeof(setting)); setting.dont_use_avpf = this->dontUseAvpf; - setting.cap_count = this->caps.size(); + setting.cap_count = (unsigned)this->caps.size(); for (unsigned i = 0; i < setting.cap_count; ++i) { setting.caps[i] = this->caps[i].toPj(); } @@ -166,12 +166,12 @@ pjsua_srtp_opt SrtpOpt::toPj() const pj_bzero(&opt, sizeof(opt)); - opt.crypto_count = this->cryptos.size(); + opt.crypto_count = (unsigned)this->cryptos.size(); for (unsigned i = 0; i < opt.crypto_count; ++i) { opt.crypto[i] = this->cryptos[i].toPj(); } - opt.keying_count = this->keyings.size(); + opt.keying_count = (unsigned)this->keyings.size(); for (unsigned i = 0; i < opt.keying_count; ++i) { opt.keying[i] = (pjmedia_srtp_keying_method)this->keyings[i]; } diff --git a/pjsip/src/pjsua2/media.cpp b/pjsip/src/pjsua2/media.cpp index 577149d38a..de9819fda0 100644 --- a/pjsip/src/pjsua2/media.cpp +++ b/pjsip/src/pjsua2/media.cpp @@ -1341,7 +1341,10 @@ pjsua_vid_preview_param VideoPreviewOpParam::toPj() const VideoPreview::VideoPreview(int dev_id) : devId(dev_id), winId(PJSUA_INVALID_ID) { - +#if !PJSUA_HAS_VIDEO + /* Suppress warning of unused field when video is disabled */ + PJ_UNUSED_ARG(winId); +#endif } bool VideoPreview::hasNative() diff --git a/pjsip/src/test/multipart_test.c b/pjsip/src/test/multipart_test.c index 292265cbb5..eeaf4352cb 100644 --- a/pjsip/src/test/multipart_test.c +++ b/pjsip/src/test/multipart_test.c @@ -125,7 +125,6 @@ static void init_media_type(pjsip_media_type *mt, static int verify_hdr(pj_pool_t *pool, pjsip_msg_body *multipart_body, void *hdr, char *part_body) { - pjsip_media_type mt; pjsip_multipart_part *part; pj_str_t the_body; @@ -148,7 +147,6 @@ static int verify_hdr(pj_pool_t *pool, pjsip_msg_body *multipart_body, static int verify_cid_str(pj_pool_t *pool, pjsip_msg_body *multipart_body, pj_str_t cid_url, char *part_body) { - pjsip_media_type mt; pjsip_multipart_part *part; pj_str_t the_body; @@ -170,7 +168,6 @@ static int verify_cid_str(pj_pool_t *pool, pjsip_msg_body *multipart_body, static int verify_cid_uri(pj_pool_t *pool, pjsip_msg_body *multipart_body, pjsip_other_uri *cid_uri, char *part_body) { - pjsip_media_type mt; pjsip_multipart_part *part; pj_str_t the_body; diff --git a/pjsip/src/test/test.c b/pjsip/src/test/test.c index 147982ea80..cc010ca069 100644 --- a/pjsip/src/test/test.c +++ b/pjsip/src/test/test.c @@ -99,7 +99,7 @@ static pj_status_t select_tests(char *testlist) char *token; char *saveptr; int maxtok = PJ_ARRAY_SIZE(test_list); - int i, j; + int j; if (!testlist) { return PJ_SUCCESS; diff --git a/tests/pjsua/run.py b/tests/pjsua/run.py index 368767fbce..35b00dec55 100644 --- a/tests/pjsua/run.py +++ b/tests/pjsua/run.py @@ -71,7 +71,13 @@ "pjsua-i386-Win32-vc8-Debug-Static.exe", "pjsua-i386-Win32-vc8-Release.exe", "pjsua-i386-Win32-vc8-Release-Dynamic.exe", - "pjsua-i386-Win32-vc8-Release-Static.exe" + "pjsua-i386-Win32-vc8-Release-Static.exe", + "pjsua-i386-Win32-vc14-Debug.exe", + "pjsua-i386-Win32-vc14-Debug-Dynamic.exe", + "pjsua-i386-Win32-vc14-Debug-Static.exe", + "pjsua-i386-Win32-vc14-Release.exe", + "pjsua-i386-Win32-vc14-Release-Dynamic.exe", + "pjsua-i386-Win32-vc14-Release-Static.exe" ] e_ts = 0 for e in EXECUTABLES: diff --git a/tests/pjsua/tools/cmp_wav.vcxproj b/tests/pjsua/tools/cmp_wav.vcxproj index 53392e1053..24fa26adaa 100644 --- a/tests/pjsua/tools/cmp_wav.vcxproj +++ b/tests/pjsua/tools/cmp_wav.vcxproj @@ -25,8 +25,7 @@ {9102D366-6707-4789-938B-A373675F5B4C} Win32Proj cmp_wav - .\ - 8.1 + .\ @@ -115,7 +114,7 @@ Console true - Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-i386-Win32-vc14-Debug.lib;%(AdditionalDependencies) + Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-x86_64-x64-vc14-Debug.lib;%(AdditionalDependencies) ..\..\..\lib;%(AdditionalLibraryDirectories) libcmt.lib $(TargetName)$(TargetExt) @@ -137,7 +136,7 @@ true true true - Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-i386-Win32-vc14-Debug.lib;%(AdditionalDependencies) + Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-i386-Win32-vc14-Release.lib;%(AdditionalDependencies) ..\..\..\lib;%(AdditionalLibraryDirectories) libcmt.lib $(TargetName)$(TargetExt) @@ -159,7 +158,7 @@ true true true - Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-i386-Win32-vc14-Debug.lib;%(AdditionalDependencies) + Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;libpjproject-x86_64-x64-vc14-Release.lib;%(AdditionalDependencies) ..\..\..\lib;%(AdditionalLibraryDirectories) libcmt.lib $(TargetName)$(TargetExt)