At the moment, we keep the decoder context alive until we either discard the window or create a new one, we should be telling the client when it can be discarded. In some cases, we may already have sent an EOS packet, but what this does is free some of the decoder's internal state, not the decoder itself.
(slightly related to #1836)
Still TODO: add timer to automatically recycle video contexts when window updates stop
(it's a little bit wasteful to keep re-scheduling this timer for every frame we process but doing anything more clever would increase code complexity)
Caused a regression: #1868.
Testing note: the effect of the EOS timer can be seen with:
xpra info | grep -e "window\.[0-9]*\.encoder="
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1850