gldownload: Fix renegotiation loop
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Mon, 11 Nov 2019 01:05:59 +0000 (20:05 -0500)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Mon, 11 Nov 2019 22:11:45 +0000 (17:11 -0500)
commit95abc6c26317b965c3d35fd1eedecc62f9aa645e
tree8a8d0af3ce7a01abbe600dcf57d1dc03b69305b0
parenta09674dd6d86ae9d4b8200002522177b801f3d51
gldownload: Fix renegotiation loop

When DMABuf was tried, we would renegotiate back and fourth between
DMABuf and system memory if the export failed. This would happen for
every single frame.

This patch introduces try_dmabuf_exports boolean, which is unset when
an export failed. This boolean is then put back to TRUE when upstream
pushes new caps, or downstream pushes a reconfigure event.
ext/gl/gstgldownloadelement.c
ext/gl/gstgldownloadelement.h