gstrtpsession: Add special mode to use FIR as repair as Google does
authorOlivier CrĂȘte <olivier.crete@collabora.com>
Fri, 2 Sep 2011 23:20:07 +0000 (19:20 -0400)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Mon, 14 Nov 2011 11:26:27 +0000 (12:26 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=658419

gst/rtpmanager/gstrtpsession.c

index 881dc4b..5fe3bec 100644 (file)
@@ -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)