videodecoder: do not deactivate the bufferpool, just unref
authorThiago Santos <ts.santos@sisa.samsung.com>
Wed, 2 Apr 2014 10:20:43 +0000 (07:20 -0300)
committerThiago Santos <ts.santos@sisa.samsung.com>
Fri, 4 Apr 2014 16:50:03 +0000 (13:50 -0300)
commit05e957106f7c23255e6cb908a547e7214a9f8540
tree69130eaf0e741e24421056ae1e0a6115eff81b79
parent169166d0a2ef735576870f41a5eb9c38da337451
videodecoder: do not deactivate the bufferpool, just unref

Videodecoder does late renegotiation, it will wait for the next
buffer before renegotiating its caps and bufferpool. It might happen
that downstream element switched from passthrough to non-passthrough
and sent a reconfigure upstream (that caused this renegotiation).
This downstream element will ask the video sink below for the bufferpool
with an allocation query and will get the same bufferpool that
videodecoder is holding, too.

When renegotiating, if videodecoder deactivates its bufferpool it
might be deactivating the bufferpool that some element downstream
is using and cause the pipeline to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=727498
gst-libs/gst/video/gstvideodecoder.c