summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 45acd8f)
raw | patch | inline | side by side (parent: 45acd8f)
author | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Fri, 17 Feb 2012 11:28:51 +0000 (12:28 +0100) | ||
committer | Alessandro Decina <alessandro.decina@collabora.co.uk> | |
Fri, 17 Feb 2012 11:28:51 +0000 (12:28 +0100) |
src/gstducatih264dec.c | patch | blob | history |
diff --git a/src/gstducatih264dec.c b/src/gstducatih264dec.c
index 36d9814cd21c336088a62b34812294e4dbc8d3b8..9467ed1f5ff8ab04fc2f4a90742def5383d32493 100644 (file)
--- a/src/gstducatih264dec.c
+++ b/src/gstducatih264dec.c
gst_ducati_h264dec_handle_error (GstDucatiVidDec * self, gint ret,
gint extended_error, gint status_extended_error)
{
- if (extended_error & 0x00000001)
+ if (extended_error & 0x00000001) {
/* No valid slice. This seems to be bad enough that it's better to flush and
* skip to the next keyframe.
*/
+
+ /* the codec doesn't unlock the input buffer in this case... */
+ gst_buffer_unref ((GstBuffer *) self->inArgs->inputID);
+ self->inArgs->inputID = 0;
+
gst_ducati_viddec_codec_flush (self, FALSE);
+ }
ret = parent_class->handle_error (self, ret, extended_error,
status_extended_error);