Windows Desktop Duplication

This is meant to provide a low latency, low level access to desktop frames for use in applications like Game streaming (e.g., Google Stadia, Microsoft XCloud).

Crate provides convenient wrapper for acquiring gpu textures from windows desktop duplication api. The crate includes some convenient features that the source api does not provide

Usage

```rust

[tokio::main]

fn main() { setprocessdpiawareness(); coinit(); let adapter = AdapterFactory::new().getadapterbyidx(0).unwrap(); let output = adapter.getdisplaybyidx(0).unwrap(); let mut dupl = DesktopDuplicationApi::new(adapter, output).unwrap(); loop { // this api send one frame per vsync. the frame also has cursor pre drawn let tex = dupl.acquirenextvsync_frame().await?;

    // .. use the texture
}

} ```

Features