mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
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:
parent
bdb8bbc100
commit
42531337f5
3 changed files with 7 additions and 28 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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__ */
|
||||||
|
|
Loading…
Reference in a new issue