Skip to content

Android 0.1.6 — full video call path

Latest

Choose a tag to compare

@loreste loreste released this 12 Jul 15:04

Full Android video call path (emulator validated)

What works now

  • Install + launch (no crash)
  • PJSIP JavaVM + ClassLoader (worker-thread safe)
  • org.pjsip.PjCamera2 camera 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=1 for 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

SHA256:

c82fa201639b94d55827f64a472b063237bd43ae99dd983cf7d9b18bde7317f1  Pale.apk

Still device-dependent / needs human validation

  • End-to-end video call on a physical phone (grant CAMERA + RECORD_AUDIO)
  • Two-party remote video frames during a live SIP session
  • Issue #1 stays open until @insxa confirms sideload works on their device