| Age | Commit message (Collapse) | Author | Files | Lines |
|
- MuxRecorder claimed minSdk 35; it is 31.
- Adb claimed API 34 is the current Android max, next to
compileSdk 35.
- Server claimed the openAbstract budget is wall-clock bounded below
the e2e deadline; the deadline is per stream, so the worst case is
not. Describe what actually holds instead.
- Pixhash contradicted itself about java.desktop availability.
|
|
MuxRecorder had a Listener interface that nothing implemented; every
callback fired into a no-op. Delete it. stop() now returns whether a
keyframe ever landed and the muxer ran, so Mirror can stop claiming
"recording saved" when no file was written.
|
|
MotionEvent.getPressure() is calibrated around 1.0 but may exceed it
on some digitizers. Masking with 0xffff wrapped hard presses around
to a light touch; clamp instead.
|
|
reconfigure() tears the codec down outside the lock, so an in-flight
MediaCodec callback can reach submit() while `codec` is null. The NPE
lands on the callback handler thread, which has no catch and kills
the process. Drop the frame instead, like any back-pressure casualty.
Also rewrite the back-pressure comment: it described a keyframe-aware
drop policy this class cannot implement (the keyframe flag never
reaches it). The real policy protects config frames only.
|
|
Native Java app for Android 12+ that mirrors another Android
device over wireless ADB, forwarding video, audio, touch input,
and clipboard. Bundles a pinned scrcpy-server.jar and the
vendored libadb-android stack. Supports h264/h265/av1 video and
raw/opus audio with in-app codec selection. No NDK, no Kotlin.
Includes JVM unit tests and a Docker-based emulator e2e rig.
|