commit 7172915dd3b9619e178bc527181848048d95369d
Author: Jan Schmidt <thaytan@noraisin.net>
Date:   Wed Oct 27 22:30:44 2010 +0100

    deinterlace: Send out a pending frame on new-segment updates.
    
    Some DVD menus are produced by having the video stream become sparse,
    in order to present a single static frame. In that case, deinterlace
    will receive a set of new-segment updates advancing time, and it should
    push out the pending frame when that happens.
    
    Fixes: #633294

diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c
index 3c54e24..5d60984 100644
--- a/gst/deinterlace/gstdeinterlace.c
+++ b/gst/deinterlace/gstdeinterlace.c
@@ -1465,6 +1465,13 @@ gst_deinterlace_sink_event (GstPad * pad, GstEvent * event)
         gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
       }
 
+      if (self->last_buffer) {
+        GstFlowReturn ret;
+        ret = gst_pad_push (self->srcpad, gst_buffer_ref (self->last_buffer));
+        GST_DEBUG_OBJECT (self, "Pushed pending frame, result: %s",
+            gst_flow_get_name (ret));
+      }
+
       gst_deinterlace_reset_qos (self);
       gst_deinterlace_reset_history (self);
       res = gst_pad_push_event (self->srcpad, event);
