ducatividdec: do not reorder frames when reordering info is absent
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 23 Oct 2012 10:01:34 +0000 (10:01 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 23 Oct 2012 10:01:34 +0000 (10:01 +0000)
This will happen for H264 if no parser is used, for instance.

src/gstducatividdec.c

index a641b36c559814a89d7824cf9af4a9483e1bb471..5203b9a00b08d14ea60ead101343efdb532af184 100644 (file)
@@ -750,6 +750,12 @@ gst_ducati_viddec_push_output (GstDucatiVidDec * self, GstBuffer * buf)
 {
   GstFlowReturn ret = GST_FLOW_OK;
 
+  /* if no reordering info was set, just send the buffer */
+  if (GST_BUFFER_OFFSET_END (buf) == GST_BUFFER_OFFSET_NONE) {
+    GST_DEBUG_OBJECT (self, "No reordering info on that buffer, sending now");
+    return gst_pad_push (self->srcpad, buf);
+  }
+
   /* add the frame to the list, the array will own the ref */
   GST_DEBUG_OBJECT (self, "Adding buffer %" GST_PTR_FORMAT " to backlog", buf);
   self->backlog_frames[self->backlog_nframes++] = buf;