From: <wt...@ke...> - 2010-09-13 11:03:24
|
Module: gst-plugins-good Branch: master Commit: 64e4ffa25baf5e35d6f4b6f3f6a8aa4ceabf730b URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=64e4ffa25baf5e35d6f4b6f3f6a8aa4ceabf730b Author: Olivier Crête <oli...@co...> Date: Tue Jun 1 20:31:18 2010 -0400 rtpsession: Count sent RTCP packets after they have been finished If they are counted before calling gst_rtcp_buffer_end(), then the size is way too big. --- gst/rtpmanager/rtpsession.c | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index ce227cb..6348665 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -2570,8 +2570,6 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time, } if (data.rtcp) { - guint size; - /* we keep track of the last report time in order to timeout inactive * receivers or senders */ sess->last_rtcp_send_time = data.current_time; @@ -2580,10 +2578,6 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time, /* add SDES for this source when not already added */ if (!data.has_sdes) session_sdes (sess, &data); - - /* update average RTCP size before sending */ - size = GST_BUFFER_SIZE (data.rtcp) + sess->header_len; - UPDATE_AVG (sess->stats.avg_rtcp_packet_size, size); } /* check for outdated collisions */ @@ -2620,10 +2614,12 @@ rtp_session_on_timeout (RTPSession * sess, GstClockTime current_time, gst_rtcp_buffer_end (data.rtcp); GST_DEBUG ("sending packet"); - if (sess->callbacks.send_rtcp) + if (sess->callbacks.send_rtcp) { + UPDATE_AVG (sess->stats.avg_rtcp_packet_size, + GST_BUFFER_SIZE (data.rtcp)); result = sess->callbacks.send_rtcp (sess, own, data.rtcp, sess->sent_bye, sess->send_rtcp_user_data); - else { + } else { GST_DEBUG ("freeing packet"); gst_buffer_unref (data.rtcp); } |