rtpsession: Process PSFB FIR requests which lack the media ssrc

According to RFC 5104 section 4.3.1.2, RTCP PSFB FIR message SHALL
have a media_ssrc field set to 0. The actual media ssrc is in the FCI.
So in that case, we ignore the retained feedback and just let it through
to the rtp_session_process_fir() function which will check for the actual
SSRC inside the FCI.

Fixes a regression introduced by commit 57c27ec3
This commit is contained in:
Olivier Crête 2013-12-13 15:57:36 -05:00
parent 6a2de911fa
commit 7af9fdbca6

View file

@ -2418,14 +2418,11 @@ rtp_session_process_feedback (RTPSession * sess, GstRTCPPacket * packet,
gst_buffer_unref (fci_buffer);
}
if (!src)
return;
if (sess->rtcp_feedback_retention_window) {
if (src && sess->rtcp_feedback_retention_window) {
rtp_source_retain_rtcp_packet (src, packet, pinfo->running_time);
}
if (src->internal ||
if ((src && src->internal) ||
/* PSFB FIR puts the media ssrc inside the FCI */
(type == GST_RTCP_TYPE_PSFB && fbtype == GST_RTCP_PSFB_TYPE_FIR)) {
switch (type) {