1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 05:17:39 +03:00

short libvpx try

This commit is contained in:
Anton Afanasyeu
2026-05-18 14:25:02 +02:00
parent 9b1afec032
commit 7a07d6de1e
33 changed files with 1400 additions and 58 deletions

View File

@@ -6,7 +6,7 @@ The app loads `libandroidcast_codecs.so` for availability probes and future soft
| Component | Java | Native | Notes |
|-----------|------|--------|-------|
| FEC 3/4 + RS | Yes | — | `ProtectionEnvelope`, handshake-safe scopes |
| FEC 3/4 + RS | Yes | — | v2 **per-shard** on wire (`FecShardWire`); v1 monolithic decode still accepted |
| NACK + retransmit cache | Yes | — | UDP `MSG_NACK`, combined with FEC when enabled |
| libvpx VP8/VP9 | Stub | Probe only | HW passthrough until `ANDROIDCAST_LIBVPX_LIB` is linked |
| Opus / Speex | Stub | Probe only | Submodules under `third-party/` |
@@ -14,7 +14,8 @@ The app loads `libandroidcast_codecs.so` for availability probes and future soft
## Enable libvpx (developer)
1. `git submodule update --init third-party/libvpx`
2. Build `libvpx.a` for your ABI (script stub: `scripts/build-native-codecs.sh`)
2. Build `libvpx.a` for your ABI: `./scripts/build-native-codecs.sh arm64-v8a`
(If the repo path has **spaces**, the script uses `/tmp/androidcast-libvpx-$USER` automatically.)
3. Rebuild the APK with the static library path:
```bash
@@ -28,4 +29,7 @@ CMake defines `ANDROIDCAST_HAVE_LIBVPX=1` and links the archive when the variabl
- Default: **None** (no FEC/NACK)
- Enable in **Global settings → Stream protection (UDP)**
- After handshake, sender and receiver negotiate the effective mode
- After handshake, sender and receiver negotiate the effective mode (no protocol version bump)
- Until negotiation completes, UDP protection stays **off**; peers without FEC support **ignore** protected frames
Full checklist: [docs/ROADMAP.md](../docs/ROADMAP.md)