pub(crate) const WL_POOL_SURFACES: usize = 2;
Two buffers: one being encoded while the calloop fills the other. try_begin gates on the publish slot, so a deeper pool would only add latency (staler frames), never overlap.