fix(wzp-video): cfg-gate dav1d + svt-av1 off Android target

shiguredo_dav1d and shiguredo_svt_av1 build scripts panic with
'unsupported target: os=android, arch=aarch64'. The AV1 SW fallback
is only needed on macOS / Linux desktop — Android uses MediaCodec
for AV1 anyway.

- Cargo.toml: AV1 SW deps moved under cfg(not(target_os = "android"))
- lib.rs: cfg-gate the dav1d and svt_av1 modules and re-exports
- factory.rs: on Android, Av1Main paths return NotInitialized when
  HW MediaCodec is also unavailable (only path on Android)
- factory tests: assert NotInitialized on Android, Ok elsewhere

Unblocks T4.3.1.1 (Android target-compile of wzp-video / mediacodec).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-05-12 19:58:37 +04:00
parent f28f39d814
commit f3e3ee5ed0
3 changed files with 46 additions and 13 deletions

View File

@@ -7,11 +7,15 @@ rust-version.workspace = true
[dependencies]
bytes = { workspace = true }
shiguredo_dav1d = "2026.1.0"
shiguredo_svt_av1 = "2026.1.0"
tracing = { workspace = true }
wzp-proto = { path = "../wzp-proto" }
# AV1 SW codecs do not support Android target (build.rs panics on
# aarch64-linux-android). Android uses MediaCodec for AV1 instead.
[target.'cfg(not(target_os = "android"))'.dependencies]
shiguredo_dav1d = "2026.1.0"
shiguredo_svt_av1 = "2026.1.0"
[target.'cfg(target_os = "macos")'.dependencies]
shiguredo_video_toolbox = "2026.1"