Full Android video call path (emulator validated)
What works now
- Install + launch (no crash)
- PJSIP JavaVM + ClassLoader (worker-thread safe)
org.pjsip.PjCamera2camera backend- Camera enumeration (Back camera on emulator)
- SurfaceView overlays for local/remote video (
PaleVideoOverlay) - Remote/local window bind path in media state (
bind_call_video) - Local preview start on outbound video calls
- Answer with
vid_cnt=1for video-capable inbound calls - Linked
mediandk/EGL/GLESv2/ OpenGL renderer - Android MediaCodec H.264 / VP8 / VP9 encode+decode
Commits
- Full surface bind + preview + answer video (
d7c49d5) - AtomicPtr Send/Sync fix for ANativeWindow (
655cb0d)
CI
Emulator validation (API 34 AVD pale_api34)
adb install -r Pale.apk→ Success- Launch: MainActivity displayed, process stays up
- Logs: CameraManager registered, JavaVM + ClassLoader, video overlay attached
Android video capture initialized with 1 device(s): Back camera- Codecs: H.264 / VP8 / VP9 via AMediaCodec
- PJSIP initialized successfully
Download
- https://drcpbx.com/downloads/Pale.apk
- https://drcpbx.com/downloads/current/Pale_0.1.6_android.apk
- Checksums: https://drcpbx.com/downloads/pale-android-SHA256SUMS.txt
SHA256:
c82fa201639b94d55827f64a472b063237bd43ae99dd983cf7d9b18bde7317f1 Pale.apk