From 1169bb05af25d6f0902a8d29c067b237ebfd6849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Fri, 2 Sep 2011 19:20:07 -0400 Subject: [PATCH] gstrtpsession: Add special mode to use FIR as repair as Google does https://bugzilla.gnome.org/show_bug.cgi?id=658419 --- gst/rtpmanager/gstrtpsession.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index 881dc4beed..5fe3bec6e5 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1400,6 +1400,12 @@ gst_rtp_session_request_remote_key_unit (GstRtpSession * rtpsession, pli = gst_structure_has_field (s, "rtcp-fb-nack-pli"); fir = gst_structure_has_field (s, "rtcp-fb-ccm-fir") && all_headers; + /* Google Talk uses FIR for repair, so send it even if we just want a + * regular PLI */ + if (!pli && + gst_structure_has_field (s, "rtcp-fb-x-gstreamer-fir-as-repair")) + fir = TRUE; + gst_caps_unref (caps); if (pli || fir)