rtpvp8depay: When dropping intra packet, request keyframe
authorOlivier Crête <olivier.crete@collabora.com>
Tue, 7 Apr 2015 22:00:53 +0000 (18:00 -0400)
committerOlivier Crête <olivier.crete@collabora.com>
Tue, 14 Apr 2015 00:13:35 +0000 (18:13 -0600)
https://bugzilla.gnome.org/show_bug.cgi?id=747208

gst/rtp/gstrtpvp8depay.c

index f1602a3..cafdad5 100644 (file)
@@ -24,6 +24,8 @@
 
 #include "gstrtpvp8depay.h"
 
+#include <gst/video/video.h>
+
 #include <stdio.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_rtp_vp8_depay_debug);
@@ -189,8 +191,10 @@ gst_rtp_vp8_depay_process (GstRTPBaseDepayload * depay, GstBuffer * buf)
       if (!self->caps_sent) {
         gst_buffer_unref (out);
         out = NULL;
-        GST_WARNING_OBJECT (self, "Dropping inter-frame before intra-frame");
-
+        GST_INFO_OBJECT (self, "Dropping inter-frame before intra-frame");
+        gst_pad_push_event (GST_RTP_BASE_DEPAYLOAD_SINKPAD (depay),
+            gst_video_event_new_upstream_force_key_unit (GST_CLOCK_TIME_NONE,
+                TRUE, 0));
       }
     } else {
       GstMapInfo info;