summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndoni Morales Alastruey <ylatuya@gmail.com>2013-04-26 17:45:31 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2013-05-20 13:31:02 +0200
commit3b249f676121b725eb1c4c092e99a451af3e8dc6 (patch)
tree1f98b0cc35d5b32a9d41135c1d7309fa1038a15c /sys
parentd9db0c2d4aea614b92602f898f3ebdef1b8e3ae8 (diff)
downloadgstreamer-plugins-bad-3b249f676121b725eb1c4c092e99a451af3e8dc6.tar.gz
applemedia: fix segfault with dropped frames
Diffstat (limited to 'sys')
-rw-r--r--sys/applemedia/vtdec.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index 7b81b8639..97b5fa579 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -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);