ducatividdec: set number of out buffers to 0 when we don't pass any
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 2 Oct 2012 16:25:32 +0000 (17:25 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 2 Oct 2012 16:26:59 +0000 (17:26 +0100)
This fixes a spurious error from the codec on flushing, when we
call process with no output buffers, while still being configured
for two output buffers.

src/gstducatividdec.c

index 7c718626d6a789dc6f73a239827c0caa17ae8f49..6639e2c355935ab08c5859de546d8e422552fb13 100644 (file)
@@ -543,6 +543,7 @@ gst_ducati_viddec_codec_flush (GstDucatiVidDec * self, gboolean eos)
   self->inBufs->numBufs = 0;
   self->inArgs->numBytes = 0;
   self->inArgs->inputID = 0;
+  self->outBufs->numBufs = 0;
 
   do {
     err = codec_process (self, eos, TRUE, NULL);
@@ -559,8 +560,9 @@ gst_ducati_viddec_codec_flush (GstDucatiVidDec * self, gboolean eos)
 
   self->dynParams->newFrameFlag = XDAS_TRUE;
 
-  /* Reset the push buffer */
+  /* Reset the push buffer and YUV buffers */
   self->inBufs->numBufs = 1;
+  self->outBufs->numBufs = 2;
 
   /* on a flush, it is normal (and not an error) for the last _process() call
    * to return an error..