applemedia: fix segfault with dropped frames
authorAndoni Morales Alastruey <ylatuya@gmail.com>
Fri, 26 Apr 2013 15:45:31 +0000 (17:45 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 20 May 2013 11:31:02 +0000 (13:31 +0200)
sys/applemedia/vtdec.c

index 7b81b86..97b5fa5 100644 (file)
@@ -510,8 +510,15 @@ gst_vtdec_enqueue_frame (void *data1, void *data2, VTStatus result,
   GstBuffer *src_buf = GST_BUFFER (data2);
   GstBuffer *buf;
 
-  if (result != kVTSuccess)
+  if (result != kVTSuccess) {
+    GST_ERROR_OBJECT (self, "Error decoding frame %d", result);
     goto beach;
+  }
+
+  if (kVTDecodeInfo_FrameDropped & info) {
+    GST_WARNING_OBJECT (self, "Frame dropped");
+    goto beach;
+  }
 
   buf = gst_core_video_buffer_new (cvbuf, &self->vinfo);
   gst_buffer_copy_into (buf, self->cur_inbuf, GST_BUFFER_COPY_METADATA, 0, -1);