mirror of
git://f0xx.org/android_cast
synced 2026-07-29 06:18:42 +03:00
1.3 KiB
1.3 KiB
Android Cast — implementation roadmap
Stream protection (FEC / NACK)
| Item | Status |
|---|---|
GF(256) Reed–Solomon + ProtectionEnvelope v1 (monolithic) |
Done |
v2 per-shard FEC (FecShardWire, one ACUD message per RS shard) |
Done |
NACK + RetransmitCache + MSG_NACK |
Done |
| Post-handshake negotiation | Done |
| Backward compat (defer FEC until negotiated; ignore foreign FEC/NACK) | Done |
| Default protection NONE (stable cast) | Done |
Integration tests (FecShard*, UdpCastTransportFecTest) |
Done |
| Lab soak under loss (HY300 / BL6000) | TODO (manual) |
| NACK rate limit / backoff | Done (NackRateLimiter) |
MSG_FEC_NACK by groupId (optional) |
Deferred |
Enable in Settings → Stream protection (UDP) on both sender and receiver, then reconnect.
libvpx / Opus / Speex
| Item | Status |
|---|---|
libandroidcast_codecs.so + JNI probes |
Done |
Cross-compile libvpx.a (scripts/build-native-codecs.sh) |
Script ready (needs submodule + NDK build) |
JNI encode in libvpx_bridge.c |
Done (when ANDROIDCAST_LIBVPX_LIB set) |
LibvpxVideoEncoderSink (buffer / calibration path) |
Done |
| libvpx decoder on receiver | TODO |
| Opus / Speex build + sinks | TODO |
See ndk/README.md.