CNA-GAP-068: Video playback is unavailable on Windows, MinGW, Emscripten, Android and iOS: CNA has no FFmpeg integration for those targets yet

CNA snapshot 009d40f5  ·  Known Issues › Functional gaps  ·  source links pinned to 009d40f5

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

modules/CMakeLists.txt marks those targets as outside the FFmpeg integration, so CNA_ENABLE_VIDEO=AUTO falls back to the no-video backend and ON fails configuration; Video probing and VideoPlayer::Play then throw NotSupportedException. docs/video-backend.md describes this as 'no target-native FFmpeg integration or decode verification yet' (MEDIA-192 to MEDIA-195), so it is unfinished CNA work rather than a constraint of those platforms.

Identifier
CNA-GAP-068
Category
Functional gap
Subsystem
Audio & media
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
Video, VideoPlayer and Load<Video> on WIN32/MinGW, Emscripten, Android and iOS builds

Expected behaviour

XNA plays video on Windows.

Actual behaviour at TARGET

modules/CMakeLists.txt sets _cna_ffmpeg_platform_supported OFF for MINGW OR WIN32 OR EMSCRIPTEN OR ANDROID OR CNA_APPLE_IOS (so a cross-build never picks up the host's pkg-config files); CNA_ENABLE_VIDEO=AUTO then builds the no-video backend and ON stops configuration. Linux and macOS with FFmpeg development packages get video.

Source locations

Evidence

Checked by reading at 009d40f5; not executed.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

Video decoder tests run on Linux CI with the distribution's FFmpeg.

Regression test

A target-specific FFmpeg integration and a CI job per platform.

Blast radius

Games that play video on the listed targets.

Workaround

Play cut-scenes through a platform player outside CNA, or ship pre-rendered frames.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.