# Windows Video Support

**URL:** <https://discourse.libcinder.org/t/windows-video-support/2154>\
**Category:** Uncategorized\
**Created:** [January 10, 2026, 11:53pm UTC](https://discourse.libcinder.org/t/windows-video-support/2154 "2026-01-10T23:53:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrewfb](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/andrewfb/32/2_2.png) [@andrewfb](https://discourse.libcinder.org/u/andrewfb)\
**Post date:** [January 10, 2026, 11:53pm UTC](https://discourse.libcinder.org/t/windows-video-support/2154/1 "2026-01-10T23:53:13Z")

</div>

Just wanted to take note of a nice milestone here, which is support for video playback on Windows, implemented in [PR #2393](https://github.com/cinder/Cinder/pull/2393).

This was made possible by @lithium and his excellent AX-MediaPlayer library, so hat’s off to him. Specifically this PR implements the existing `ci::qtime` interface we have on macOS (through AVFoundation) and Linux (through GStreamer) via Windows’ MediaFoundation. It supports a “zero copy” architecture, so video is decoded on the GPU and remains there, shared via a DX/GL interop extension.

Performance is great, and while it of course varies with GPU, I’m seeing it decode 20 1080p trailers at once without breaking a sweat on my own desktop.

MediaFoundation is notoriously under-documented and tricky to get right, so thanks again to @lithium, AKA [axjxwright](https://github.com/axjxwright/) for this code.

 ![image](https://canada1.discourse-cdn.com/flex030/uploads/libcinder/original/2X/6/6559331f0cf6a56dc7c7b3ec532373c1446f14aa.jpeg)
