diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 83d763a7bf..2698f3c7a9 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -2357,6 +2357,15 @@ session_report_blocks (const gchar * key, RTPSource * source, ReportData * data) rtp_source_get_new_rb (source, data->current_time, &fractionlost, &packetslost, &exthighestseq, &jitter, &lsr, &dlsr); + /* store last generated RR packet */ + source->last_rr.is_valid = TRUE; + source->last_rr.fractionlost = fractionlost; + source->last_rr.packetslost = packetslost; + source->last_rr.exthighestseq = exthighestseq; + source->last_rr.jitter = jitter; + source->last_rr.lsr = lsr; + source->last_rr.dlsr = dlsr; + /* packet is not yet filled, add report block for this source. */ gst_rtcp_packet_add_rb (packet, source->ssrc, fractionlost, packetslost, exthighestseq, jitter, lsr, dlsr); diff --git a/gst/rtpmanager/rtpsource.h b/gst/rtpmanager/rtpsource.h index 54a86ac47c..94c22b3f5a 100644 --- a/gst/rtpmanager/rtpsource.h +++ b/gst/rtpmanager/rtpsource.h @@ -167,6 +167,7 @@ struct _RTPSource { gpointer user_data; RTPSourceStats stats; + RTPReceiverReport last_rr; GList *conflicting_addresses; };