diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 081de5070a..0ddb2b584f 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -673,7 +673,7 @@ rtp_session_init (RTPSession * sess) sess->rtcp_rs_bandwidth = DEFAULT_RTCP_RS_BANDWIDTH; /* default UDP header length */ - sess->header_len = 28; + sess->header_len = UDP_IP_HEADER_OVERHEAD; sess->mtu = DEFAULT_RTCP_MTU; sess->probation = DEFAULT_PROBATION; diff --git a/gst/rtpmanager/rtpsource.c b/gst/rtpmanager/rtpsource.c index 7079e168a7..78e6746e5e 100644 --- a/gst/rtpmanager/rtpsource.c +++ b/gst/rtpmanager/rtpsource.c @@ -1188,8 +1188,8 @@ update_receiver_stats (RTPSource * src, RTPPacketInfo * pinfo, src->stats.octets_received += pinfo->payload_len; src->stats.bytes_received += pinfo->bytes; src->stats.packets_received += pinfo->packets; - /* for the bitrate estimation */ - src->bytes_received += pinfo->payload_len; + /* for the bitrate estimation consider all lower level headers */ + src->bytes_received += pinfo->bytes; GST_LOG ("seq %u, PC: %" G_GUINT64_FORMAT ", OC: %" G_GUINT64_FORMAT, seqnr, src->stats.packets_received, src->stats.octets_received); @@ -1319,7 +1319,7 @@ rtp_source_send_rtp (RTPSource * src, RTPPacketInfo * pinfo) /* update stats for the SR */ src->stats.packets_sent += pinfo->packets; src->stats.octets_sent += pinfo->payload_len; - src->bytes_sent += pinfo->payload_len; + src->bytes_sent += pinfo->bytes; running_time = pinfo->running_time; diff --git a/gst/rtpmanager/rtpstats.h b/gst/rtpmanager/rtpstats.h index b8b26ecee6..bd3a54efed 100644 --- a/gst/rtpmanager/rtpstats.h +++ b/gst/rtpmanager/rtpstats.h @@ -27,6 +27,9 @@ #include #include +/* UDP/IP is assumed for bandwidth calculation */ +#define UDP_IP_HEADER_OVERHEAD 28 + /** * RTPSenderReport: *