diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-06-29 15:42:57 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-06-29 15:42:57 +0000 |
commit | a07ddf779c3ed70101fabf03834b476d8261e3ac (patch) | |
tree | fd7aae020a321214c89e0747d34f2255b60f3e02 /pjmedia | |
parent | 44b3f0a399d641273df8a4b240514e710a905c31 (diff) |
Fixed minor bug: RTCP session not fully cleared when it is initialized (should bzero everything), causing incorrect stats when it is reused for next call. Also couple of gcc warnings fixed.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@569 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia/rtcp.c | 12 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/sdp.c | 2 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/stream.c | 13 |
3 files changed, 11 insertions, 16 deletions
diff --git a/pjmedia/src/pjmedia/rtcp.c b/pjmedia/src/pjmedia/rtcp.c index d37b7fda..11f28831 100644 --- a/pjmedia/src/pjmedia/rtcp.c +++ b/pjmedia/src/pjmedia/rtcp.c @@ -133,12 +133,8 @@ PJ_DEF(void) pjmedia_rtcp_init(pjmedia_rtcp_session *sess, pjmedia_rtcp_pkt *rtcp_pkt = &sess->rtcp_pkt; pj_time_val now; - /* Reset packet */ - pj_memset(rtcp_pkt, 0, sizeof(pjmedia_rtcp_pkt)); - - /* Reset statistics */ - pj_memset(&sess->stat, 0, sizeof(pjmedia_rtcp_stat)); - sess->avg_jitter = 0; + /* Memset everything */ + pj_memset(sess, 0, sizeof(pjmedia_rtcp_session)); /* Last RX timestamp in RTP packet */ sess->rtp_last_ts = (unsigned)-1; @@ -150,10 +146,6 @@ PJ_DEF(void) pjmedia_rtcp_init(pjmedia_rtcp_session *sess, sess->clock_rate = clock_rate; sess->pkt_size = samples_per_frame; - /* Init time */ - sess->rx_lsr = 0; - sess->rx_lsr_time.u64 = 0; - /* Init common RTCP header */ rtcp_pkt->common.version = 2; rtcp_pkt->common.count = 1; diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c index 48f091d1..835df4e4 100644 --- a/pjmedia/src/pjmedia/sdp.c +++ b/pjmedia/src/pjmedia/sdp.c @@ -457,7 +457,7 @@ PJ_DEF(pj_status_t) pjmedia_sdp_rtpmap_to_attr(pj_pool_t *pool, rtpmap->enc_name.ptr, rtpmap->clock_rate, (rtpmap->param.slen ? "/" : ""), - rtpmap->param.slen, + (int)rtpmap->param.slen, rtpmap->param.ptr); if (len < 1 || len > sizeof(tempbuf)) diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c index c65d6ce2..f14683f8 100644 --- a/pjmedia/src/pjmedia/stream.c +++ b/pjmedia/src/pjmedia/stream.c @@ -682,11 +682,12 @@ static void handle_incoming_dtmf( pjmedia_stream *stream, * This callback is called by stream transport on receipt of packets * in the RTP socket. */ -static void on_rx_rtp( pjmedia_stream *stream, +static void on_rx_rtp( void *data, const void *pkt, pj_ssize_t bytes_read) { + pjmedia_stream *stream = data; pjmedia_channel *channel = stream->dec; const pjmedia_rtp_hdr *hdr; const void *payload; @@ -824,10 +825,12 @@ static void on_rx_rtp( pjmedia_stream *stream, * This callback is called by stream transport on receipt of packets * in the RTCP socket. */ -static void on_rx_rtcp( pjmedia_stream *stream, +static void on_rx_rtcp( void *data, const void *pkt, pj_ssize_t bytes_read) { + pjmedia_stream *stream = data; + /* Check for errors */ if (bytes_read < 0) { LOGERR_((stream->port.info.name.ptr, "RTCP recv() error", @@ -1067,9 +1070,9 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* Only attach transport when stream is ready. */ - status = (*tp->op->attach)(tp, stream, &info->rem_addr, &info->rem_rtcp, - sizeof(info->rem_addr), &on_rx_rtp, - &on_rx_rtcp); + status = pjmedia_transport_attach(tp, stream, &info->rem_addr, + &info->rem_rtcp, sizeof(info->rem_addr), + &on_rx_rtp, &on_rx_rtcp); if (status != PJ_SUCCESS) goto err_cleanup; |