mirror of
git://f0xx.org/android_cast
synced 2026-07-29 03:57:50 +03:00
AI: polish mobile parts
This commit is contained in:
53
docs/ALPHA_SOAK.md
Normal file
53
docs/ALPHA_SOAK.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# Alpha soak checklist (LAN demo)
|
||||
|
||||
Manual QA on **two devices** on the same Wi‑Fi. Goal: stable show path without experimental transports or stream protection.
|
||||
|
||||
## Before you start
|
||||
|
||||
| Setting | Sender | Receiver |
|
||||
|---------|--------|----------|
|
||||
| Transport | **UDP** | **UDP** (must match) |
|
||||
| Stream protection | **None** | **None** |
|
||||
| Video codec | **H.264 (AUTO)** | **H.264 (AUTO)** |
|
||||
| Resolution (sender) | **720p** or **Auto** for first pass | — |
|
||||
| Multi-receiver | **One** receiver selected | — |
|
||||
|
||||
PIN default: `1234` (change in settings if needed).
|
||||
|
||||
## Happy path (~15 min)
|
||||
|
||||
1. Install the same debug/release APK on both devices.
|
||||
2. **Receiver:** Main → **Receive** → **Start listening** (notification shows *Listening*).
|
||||
3. **Sender:** Main → **Send** → refresh discovery → pick receiver → enter PIN → approve screen capture.
|
||||
4. Confirm sender notification: *Casting via UDP · WxH*.
|
||||
5. Confirm video and audio on receiver for **≥ 5 minutes**.
|
||||
6. Rotate sender once; confirm stream recovers or stop/restart cleanly.
|
||||
7. Press **Stop** on sender notification; receiver returns to awaiting state.
|
||||
|
||||
## Stress (optional, ~10 min)
|
||||
|
||||
- Background sender app for 30s, return — stream continues or fails with clear status (no silent hang).
|
||||
- Lock/unlock receiver once during cast.
|
||||
- Second cast session without reinstall (stop → start again).
|
||||
|
||||
## Pass criteria
|
||||
|
||||
- No crash on either device during happy path.
|
||||
- Video appears within **10s** of capture consent.
|
||||
- Stop ends services and notifications on both sides.
|
||||
|
||||
## If something fails
|
||||
|
||||
| Symptom | Check |
|
||||
|---------|--------|
|
||||
| No video | Transport match; receiver listening first; open receiver UI once for surface attach |
|
||||
| Auth failed | PIN; same Wi‑Fi; firewall on LAN |
|
||||
| *Screen capture data missing* | Reinstall APK; Android 13+ consent intent |
|
||||
| Choppy only on UDP | Retry with **TCP** on both sides (fallback test) |
|
||||
|
||||
## Not in alpha soak scope
|
||||
|
||||
- QUIC / WebRTC / USB-tether transports
|
||||
- FEC / NACK stream protection
|
||||
- 1:N multi-receiver (unless explicitly testing)
|
||||
- OTA / crash upload (backend track)
|
||||
@@ -15,11 +15,13 @@ Last updated: 2026-05-21. Living document — refine as alpha and commercial tra
|
||||
|
||||
### Alpha app checklist
|
||||
|
||||
- [ ] Happy path: UDP + H.264/AAC + single receiver, stream protection **None**
|
||||
- [ ] README matches `CastSettings` / `CastConfig` defaults
|
||||
- [ ] Fix misleading strings (e.g. camera “not implemented”)
|
||||
- [ ] Two-device QA script (rotate, background, notification stop)
|
||||
- [ ] Optional: cap multi-receiver at 1 for show, or soak 1:N
|
||||
- [ ] Happy path: UDP + H.264/AAC + single receiver, stream protection **None** — see [ALPHA_SOAK.md](ALPHA_SOAK.md)
|
||||
- [x] README matches `CastSettings` / `CastConfig` defaults (UDP default, resolution presets)
|
||||
- [x] Fix misleading strings (camera permission / API messaging)
|
||||
- [x] Two-device QA script — [ALPHA_SOAK.md](ALPHA_SOAK.md)
|
||||
- [x] Sender resolution UI: Original / 720p / 480p / Auto (release builds; legacy modes dev-only)
|
||||
- [x] Remove orphan `ReceiverActivity` (receiver entry is `ReceiverPlaybackActivity`)
|
||||
- [ ] Optional: cap multi-receiver at 1 for show, or soak 1:N — soak doc recommends one receiver
|
||||
|
||||
### Alpha backend checklist
|
||||
|
||||
@@ -134,7 +136,7 @@ See [ndk/README.md](../ndk/README.md).
|
||||
| `ReceiverPlaybackActivity` (primary receiver UI) | Done |
|
||||
| Settings drawer + themes + RU locale | Done |
|
||||
| Multi-receiver 1:N | Done (soak or gate for alpha) |
|
||||
| Legacy `ReceiverActivity` in manifest | Orphan — remove or wire |
|
||||
| Legacy `ReceiverActivity` | Removed — use `ReceiverPlaybackActivity` only |
|
||||
| Immersive A/V presets (dev) | Experimental |
|
||||
| Sender resolution UI modes (dev: Separated / Legacy / Combined) | Done (test) |
|
||||
| True dual-stream encode (480p + 720p simultaneous) | Deferred |
|
||||
@@ -156,6 +158,7 @@ See [ndk/README.md](../ndk/README.md).
|
||||
|
||||
- [GIT_FLOW.md](GIT_FLOW.md) — green `master` / `next` development cycle ([PDF](GIT_FLOW.pdf))
|
||||
- [README.md](../README.md) — quick start
|
||||
- [ALPHA_SOAK.md](ALPHA_SOAK.md) — two-device LAN demo QA
|
||||
- [USB_HDMI_CAST.md](USB_HDMI_CAST.md) — D & E
|
||||
- [COMMERCIAL.md](COMMERCIAL.md) — ads / IAP / Play
|
||||
- [PRO_AAR.md](PRO_AAR.md) — cast-core / cast-pro entitlements
|
||||
|
||||
Reference in New Issue
Block a user