evgeny
b8a2d7a555
Detach direct camera preview immediately when UI goes to background
2026-10-14 15:30:03 +02:00
evgeny
78054b2c1d
Measure direct preview frame age using camera timestamp clocks
2026-10-14 15:19:49 +02:00
evgeny
548e64c963
Use direct camera preview instead of a local stream decoder
2026-10-14 14:58:03 +02:00
evgeny
e8a63ec40d
Send Android camera frames directly to preview surfaces
2026-10-14 14:58:03 +02:00
evgeny
9ef18b6324
Release Android inflight state at decoder EOS before audio tail
2026-10-14 14:17:35 +02:00
evgeny
c02222610b
Preserve observed decoder lead while its pipeline drains
2026-10-14 13:49:57 +02:00
evgeny
360a6efafc
Verify outstanding read replies and explicit video demand
2026-10-14 13:49:14 +02:00
evgeny
9331c26b22
Distinguish Android decoder startup from waiting for a keyframe
2026-10-14 13:36:38 +02:00
evgeny
f72e2fca94
Drive Android decoding by codec readiness and bounded working frames
2026-10-14 13:36:38 +02:00
evgeny
223c9a153c
Request the next video frame through JNI without a time horizon
2026-10-14 13:36:38 +02:00
evgeny
a5f8b8431d
Verify video profile fallback without excluding a supported codec
2026-10-14 02:14:24 +02:00
evgeny
499ce21cfc
Use available encoder profiles when the preferred video profile is absent
2026-10-14 02:14:24 +02:00
evgeny
49ca49fa1e
Assemble partial codec setup and test real out of band decoder configuration
2026-10-14 02:01:44 +02:00
evgeny
b4aeb1a3fd
Keep preview layout stable and document codec configuration exchange
2026-10-14 01:56:02 +02:00
evgeny
39297d1a07
Explain unavailable video decoders and restored capture settings
2026-10-14 01:47:32 +02:00
evgeny
de67de33df
Report codec capabilities and document the expanded Android media header
2026-10-14 01:45:50 +02:00
evgeny
990713c7a7
Retain complete codec parameter sets across separate configuration callbacks
2026-10-14 01:41:12 +02:00
evgeny
06bd9947ce
Test codec keyframes and bitrate selection across camera changes
2026-10-14 01:21:04 +02:00
evgeny
3e7197702b
Decode all supported video formats from uAV2 on desktop
2026-10-14 01:14:38 +02:00
evgeny
c815d06ab0
Add video codec and bitrate controls with aggregate send buffer indicators
2026-10-14 01:13:28 +02:00
evgeny
7a5a94bb64
Keep ten hertz publication telemetry separate from preview state
2026-10-14 01:12:31 +02:00
evgeny
1ac7a40432
Capture and play codec specific access units with live bitrate changes
2026-10-14 01:11:49 +02:00
evgeny
d209049f71
Enumerate supported surface encoders and model codec specific keyframes
2026-10-14 01:10:43 +02:00
evgeny
cd8a5392d5
Expose source codec selection and aggregate send telemetry through JNI
2026-10-14 01:09:30 +02:00
evgeny
be7c3c5811
Bound desktop decoder work and drain Android codec with monotonic EOS timestamps
2026-10-14 00:04:08 +02:00
evgeny
f3bc2909e1
Initialize Android playback before handling its first media packet
2026-10-13 23:18:43 +02:00
evgeny
acf374df4e
Use adaptive ring backed playback and stereo tempo on Android
2026-10-13 23:16:06 +02:00
evgeny
1d7f70b31c
Preserve Opus preroll state across timestamp jitter and short gaps
2026-10-13 16:39:37 +02:00
evgeny
8206e53b5c
Warm Android Opus preroll and start audio at the first keyframe
2026-10-13 16:30:41 +02:00
evgeny
50005b108f
Generate continuous stereo Opus in live playback regression
2026-10-13 14:39:08 +02:00
evgeny
8bee8c10ff
Replace stream rotation menu with three marked toggle buttons
2026-10-13 14:24:59 +02:00
evgeny
e06e9b0e22
Capture encode and play stereo audio in Android live streams
2026-10-13 14:15:44 +02:00
evgeny
2a2394b34d
Verify live stream compression and document shared radio AGC
2026-10-13 13:46:24 +02:00
evgeny
2e0eb89ad3
Capture CAMCORDER audio and apply radio AGC changes live
2026-10-13 13:40:08 +02:00
evgeny
6bd14c53b5
Compress stream audio before Opus using radio settings
2026-10-13 13:39:12 +02:00
evgeny
5f5d4f964a
Preserve Android debug level and accept all core categories
2026-10-13 12:10:38 +02:00
evgeny
7fa7a42673
Expose native debug categories and fix Android level fields
2026-10-13 12:10:08 +02:00
evgeny
3a6dacf378
Add stream camera controls and preserve playback on changes
2026-10-13 01:00:53 +02:00
evgeny
dd034a9d42
Cover channel closure and keep stream selection usable for long lists
2026-10-12 22:21:10 +02:00
evgeny
cacd377d55
Use only shared source events in Android streaming UI and tests
2026-10-12 22:20:28 +02:00
evgeny
7addfb5aa3
Keep live decoding low latency and preserve publisher stop controls
2026-10-12 22:15:11 +02:00
evgeny
e3d9ac9d31
Report Android stream close reasons and epoch changes
2026-10-12 22:01:38 +02:00
evgeny
d5ed19ee34
Open Android live streams from the channel header
2026-10-12 22:01:38 +02:00
evgeny
ba3dd70f6c
Keep Android live sources in reactive channel state
2026-10-12 22:00:12 +02:00
evgeny
c7be1ebbbe
Preserve cold NAT trials in the real network fixture
2026-10-12 20:43:39 +02:00
evgeny
d2e62874bb
Fix Android member details layout and address formatting
2026-10-12 16:40:40 +02:00
evgeny
a96d5926c7
Fix Android external network monitoring and startup readiness
...
Select frontend network callbacks for auto_sockets=android instead of opening a denied netlink monitor. Preserve monitor descriptor ownership, keep native monitoring failures fatal, and release caller config on failed Android core creation and restart.
Register ConnectivityManager before requesting startup, report readiness after SERVICE_STARTED, and refresh addresses after initialization with serialized updates and generation checks. Add regression coverage for denied netlink, socket failures, address updates, and fd=0 preservation. Record the separate cancellation issue for startup before readiness.
Validation: full check.sh passed, including proxy/burst/load integrations. Clean Android build installed successfully on SM-A525F and Q8; logcat confirms both cores initialized and entered the poll loop with external monitoring and post-start address refresh.
2026-10-12 16:01:26 +02:00
evgeny
bb256dccdc
Extend Android playback counters across long running streams
2026-10-12 12:54:13 +02:00
evgeny
a043dc9a42
Bound audio writes and release codecs after failed initialization
2026-10-12 11:49:09 +02:00
evgeny
eee67ac9d9
Close local preview when its publication ends
2026-10-12 11:36:07 +02:00