noVNC/core
keradoxchen 5f71939e0d fix(display): prevent render queue deadlock with video decoder pipeline
The render queue blocks on unready video frames and triggers the
`_flushing` mechanism in rfb.js, which stops all VNC message
processing. This starves the VideoDecoder of input, preventing it
from producing output — creating a deadlock where the queue waits
for decoder output that can never arrive.

Video frames now skip the queue blocking and draw asynchronously
via the decoder's output callback. The flip operation waits for all
pending frames to resolve before executing, preserving visual
correctness without blocking the decoder input pipeline.
2026-02-09 02:44:29 +00:00
..
crypto Consistently use "sentence case" style 2024-11-27 14:40:40 +01:00
decoders fix(h264): replace `self` with `this` in H264Context.decode() 2026-02-09 02:44:29 +00:00
input Consistently use "sentence case" style 2024-11-27 14:40:40 +01:00
util Add permissions-exclusive async clipboard 2025-10-21 16:21:55 +02:00
base64.js Standardize on camelCase in Base64 2020-05-31 23:37:29 +02:00
clipboard.js Add permissions-exclusive async clipboard 2025-10-21 16:21:55 +02:00
deflator.js Consistently use "sentence case" style 2024-11-27 14:40:40 +01:00
display.js fix(display): prevent render queue deadlock with video decoder pipeline 2026-02-09 02:44:29 +00:00
encodings.js Add support for forward and back mouse buttons 2025-01-15 09:11:48 +01:00
inflator.js Consistently use "sentence case" style 2024-11-27 14:40:40 +01:00
ra2.js Add Websock send queue helpers 2023-06-04 22:32:43 +02:00
rfb.js Add permissions-exclusive async clipboard 2025-10-21 16:21:55 +02:00
websock.js Expose length of buffered WebSocket data 2025-09-10 10:20:20 +02:00