rtpsession: Remove incomplete support for RTCP FIR

Remove bits that were meant to suppport RTCP FIR

https://bugzilla.gnome.org/show_bug.cgi?id=648160
This commit is contained in:
Olivier Crête 2011-04-18 18:08:30 -04:00 committed by Tim-Philipp Müller
parent bdb8bbc100
commit 42531337f5
3 changed files with 7 additions and 28 deletions

View file

@ -1390,38 +1390,21 @@ gst_rtp_session_request_remote_key_unit (GstRtpSession * rtpsession,
caps = gst_rtp_session_get_caps_for_pt (rtpsession, payload); caps = gst_rtp_session_get_caps_for_pt (rtpsession, payload);
if (caps) { if (caps) {
gboolean fir, pli;
const GstStructure *s = gst_caps_get_structure (caps, 0); const GstStructure *s = gst_caps_get_structure (caps, 0);
gboolean pli;
if (!gst_structure_get_boolean (s, "rtcp-fb-nack-fir", &fir)) pli = gst_structure_has_field (s, "rtcp-fb-nack-pli");
fir = FALSE;
if (!gst_structure_get_boolean (s, "rtcp-fb-nack-pli", &pli))
pli = FALSE;
gst_caps_unref (caps); gst_caps_unref (caps);
if (!pli && !fir) if (pli) {
goto out; rtp_session_request_key_unit (rtpsession->priv->session, ssrc);
/* When we need all headers, use FIR if possible falling back to PLI if
* it's available */
if (all_headers) {
/* 500 ms acceptable delay for urgent request is a guesstimate, it could
* be made configurable if needed
*/
/* If we don't have fir, fall back to pli */
rtp_session_request_key_unit (rtpsession->priv->session, ssrc, fir);
rtp_session_request_early_rtcp (rtpsession->priv->session, rtp_session_request_early_rtcp (rtpsession->priv->session,
gst_clock_get_time (rtpsession->priv->sysclock), 500 * GST_MSECOND); gst_clock_get_time (rtpsession->priv->sysclock), 200 * GST_MSECOND);
requested = TRUE;
} else if (pli) {
rtp_session_request_key_unit (rtpsession->priv->session, ssrc, FALSE);
requested = TRUE; requested = TRUE;
} }
} }
out:
return requested; return requested;
} }

View file

@ -3171,13 +3171,10 @@ dont_send:
} }
void void
rtp_session_request_key_unit (RTPSession * sess, guint32 ssrc, gboolean fir) rtp_session_request_key_unit (RTPSession * sess, guint32 ssrc)
{ {
guint i; guint i;
if (fir)
return;
for (i = 0; i < sess->rtcp_pli_requests->len; i++) for (i = 0; i < sess->rtcp_pli_requests->len; i++)
if (ssrc == g_array_index (sess->rtcp_pli_requests, guint32, i)) if (ssrc == g_array_index (sess->rtcp_pli_requests, guint32, i))
return; return;

View file

@ -348,7 +348,6 @@ void rtp_session_request_early_rtcp (RTPSession * sess, GstClockT
/* Notify session of a request for a new key unit */ /* Notify session of a request for a new key unit */
void rtp_session_request_key_unit (RTPSession * sess, void rtp_session_request_key_unit (RTPSession * sess,
guint32 ssrc, guint32 ssrc);
gboolean fir);
#endif /* __RTP_SESSION_H__ */ #endif /* __RTP_SESSION_H__ */