summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: dcf52e0)
raw | patch | inline | side by side (parent: dcf52e0)
author | Alessandro Decina <alessandro.decina@collabora.com> | |
Wed, 11 Apr 2012 12:01:18 +0000 (14:01 +0200) | ||
committer | Alessandro Decina <alessandro.decina@collabora.com> | |
Wed, 11 Apr 2012 12:01:18 +0000 (14:01 +0200) |
Reset outArgs in flush() so that it isn't left in an inconsistent state if
flush() is called from codec_process() during error handling.
flush() is called from codec_process() during error handling.
src/gstducatividdec.c | patch | blob | history |
diff --git a/src/gstducatividdec.c b/src/gstducatividdec.c
index e06023e7db8e6a324589b6b1a08fabc6f1f65967..9f17a137c9ce65c8065e37e81488e4db8fb01b46 100644 (file)
--- a/src/gstducatividdec.c
+++ b/src/gstducatividdec.c
err = codec_process (self, eos, TRUE);
} while (err != XDM_EFAIL);
+ /* reset outArgs in case we're flushing in codec_process trying to do error
+ * recovery */
+ memset (&self->outArgs->outputID, 0, sizeof (self->outArgs->outputID));
+ memset (&self->outArgs->freeBufID, 0, sizeof (self->outArgs->freeBufID));
+
/* on a flush, it is normal (and not an error) for the last _process() call
* to return an error..
*/