decoder: Increase number of buffers in pool
authorPooja Prajod <a0132412@ti.com>
Wed, 24 May 2017 13:15:52 +0000 (18:45 +0530)
committerPooja Prajod <a0132412@ti.com>
Fri, 26 May 2017 13:56:27 +0000 (19:26 +0530)
In corner cases where the max-ref frames is 3,
the pipeline may get locked-up. Ideally waylandsink
holds 2 buffers at a time, but there can be cases
where the render callback is delayed. This causes
3 buffers to be held by waylandsink. Increasing number
of buffers in bufferpool prevents this lock-up.

Signed-off-by: Pooja Prajod <a0132412@ti.com>
src/gstducatividdec.c

index e94ddc55f8f61da4b1d08f3839633868d3f5efb2..0c80b47557505b8b2bbbdc5373c2c49331ac117b 100644 (file)
@@ -275,7 +275,7 @@ codec_buffer_pool_get (GstDucatiVidDec * self, GstBuffer * buf)
         GST_ROUND_UP_2 (self->padded_height) * 3 / 2;
 
     if (self->status->maxNumDisplayBufs)
-      num_buffers = MAX (4, self->status->maxNumDisplayBufs);
+      num_buffers = MAX (6, self->status->maxNumDisplayBufs);
 
     GST_DEBUG_OBJECT (self, "creating bufferpool");
     GST_DEBUG_OBJECT (self, "%s\n",