1
0
mirror of git://f0xx.org/ac/ac-mobile-android synced 2026-07-29 04:18:25 +03:00
Commit Graph

5 Commits

Author SHA1 Message Date
Anton Afanasyeu
2619848d1b Implement native iodine client and fix RA heartbeat URL resolution.
Bundle iodine 0.7.0 with JNI TUN bridge; apply BE iodine credentials on connect; canonical heartbeat URL fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 19:44:38 +02:00
Anton Afanasyeu
4c15be763b Add adaptive jitter buffer, BWE, and mid-session codec renegotiation.
Receiver pipeline gets configurable jitter buffering with live stats in the debug overlay; sender/receiver share AdaptiveNetworkControlPlane for congestion-aware bitrate and codec switches without a protocol version bump.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 14:55:13 +02:00
Anton Afanasyeu
fb8b0c43e7 codecs: add native build scripts for libvpx/opus/speex + fix CMake includes
- scripts/build-native-codecs.sh: cross-compile libvpx, opus, speex for
  Android ABIs (arm64-v8a, armeabi-v7a, x86_64) using NDK clang with -fPIC
- scripts/android-ndk.sh: NDK root detection helper
- scripts/native-build-cache.sh: ccache detection helper
- scripts/init-third-party-submodules.sh: init codec submodules
- scripts/ensure-gradle-wrapper.sh: gradle wrapper sanity check
- scripts/adb-reconnect.sh: ADB device discovery helpers
- ndk/CMakeLists.txt: per-ABI include dirs for opus/ and speex_config_types.h

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 23:07:17 +02:00
Anton Afanasyeu
f6e69153ca codecs: real Opus + Speex JNI encode/decode; SFU gate enabled
- opus_bridge.c / speex_bridge.c: full encoder + decoder JNI (libopus/libspeex)
- NativeCodecBridge: add Opus/Speex encode/decode/release public Java API
- OpusAudioEncoderSink / SpeexAudioEncoderSink: real AudioEncoderSink impls
- AudioCodecFactory: route OPUS_NATIVE → OpusAudioEncoderSink, SPEEX_NATIVE → SpeexAudioEncoderSink
- AudioDecoderSink interface; NativeAudioDecoder (JNI decode → AudioTrack)
- ReceiverCastService: swap to NativeAudioDecoder when negotiated codec is Opus/Speex
- SfuRelayGate: PREVIEW_ENABLED=true; add API_BASE, WS_PATH, healthUrl()
- Unit tests: OpusAudioEncoderSinkTest, SpeexAudioEncoderSinkTest, SfuRelayGateTest (19 pass)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 22:27:44 +02:00
Anton Afanasyeu
8675c2df3a initial 2026-06-23 12:30:10 +02:00