vout: VOUT_REDISPLAY_DELAY wait not interruptible by the clock
The VOUT_REDISPLAY_DELAY
is currently 80ms.
When the vout is waiting for that delay, it is only interruptible when the vout receive new controls or new pictures.
It should also be interruptible when the vout clock is updated.
Indeed, see this classic scenario when playing a media with audio/video.
- The vout is displaying its first picture (forced/render_now mode)
- The vout will wait the correct display time, via the clock, for the second picture. The clock will likely be in monotonic mode, since it has not been updated yet by any ESes.
- The aout will wait the correct render time for the first audio block.
- The aout play the first block
- The aout delay become valid after an unknown time (likely, few ms after the first play), and the aout update the clock.
- The vout might be still waiting for
VOUT_REDISPLAY_DELAY
ms and will update the display time after a full wait. - The new display time might already be too late.
The consequence is that the vout will drop between 0 and 2 pictures at the beginning.
cf. #27023 (closed)