Skip to content

ProxiTap v3.1.0

Latest

Choose a tag to compare

@TylerHats TylerHats released this 06 Nov 02:44
· 2 commits to main since this release

ProxiTap Version 3.1.0 — Release Notes

Changes and improvements since Version 3.0.1

ProxiTap v3.1.0 delivers major reliability upgrades for Wi-Fi Aware (NAN) and WebRTC lobby connections, ultra-low-latency glitch-free stereo audio for 1-on-1 media sharing, full Bluetooth/wired earbud and microphone routing support, and complete Google Play Store policy compliance.


🚀 Key Features & Enhancements

1. 🔄 Robust First-Time Lobby Connections & Auto-Recovery

Connecting to a lobby no longer requires restarting the app if the initial Wi-Fi Aware or signaling handshake experiences a transient hiccup:

  • Automatic Handshake & Data-Path Retries: Both Host and Client automatically retry Wi-Fi Aware session attach, service publish/discovery, NDP data-path negotiation (RESET_NDP), Local Hotspot creation, and Ktor WebSocket signaling.
  • WebRTC ICE & UDP Proxy Recovery: Incoming loopback ICE candidates are buffered until remote SDP descriptions complete, early STUN frames are queued prior to local port resolution, and a 4.5s ICE watchdog automatically renegotiates the voice link if the initial handshake stalls.
  • Live Status Toasts: Informative Toast notifications keep both Host and Client updated whenever a connection step is retrying or recovering during lobby join or mid-call.
  • Fixed Passive Discovery Session Leak: Passive NAN discovery now runs strictly on the Server List screen and reuses the active WifiAwareSession handle.

2. ⚡ Ultra-Low-Latency 1-on-1 Media Sharing

Engineered for two people watching a video on one phone while listening together via ProxiTap with no noticeable lip-sync delay or audio glitches:

  • 5ms Unfragmented PCM Frames: Reduced 48 kHz 16-bit Stereo PCM capture chunks from 20ms (3,840 bytes) to 5ms (960 bytes) so every audio frame fits inside a single unfragmented IPv6 UDP packet.
  • Hardware-Synced Adaptive Playout: Uses USAGE_MEDIA + PERFORMANCE_MODE_LOW_LATENCY with live playbackHeadPosition tracking, a 25ms pre-roll, and smooth linear PCM sample crossfading whenever buffer drift exceeds 60ms—keeping glass-to-glass latency locked around 30–45ms with zero clicks, pops, or choppiness.
  • WMM Voice QoS Priority: Direct UDP audio sockets set DSCP EF (0xB8) for hardware Wi-Fi Voice queue prioritization and exchange 300ms keepalive/punch packets for instant scoped IPv6 discovery.

3. 🎧 Headphones & Earbuds Routing (Playback + Microphone)

ProxiTap is now fully aware of connected headphones and earbuds across all call and media modes:

  • Automatic Earbud Detection & Hot-Plug Support: Detects Bluetooth Classic (SCO/A2DP), Bluetooth LE Audio (TYPE_BLE_HEADSET), USB-C headsets, and 3.5mm wired headsets/headphones, automatically routing both call playback and microphone capture when connected or unplugged mid-call.
  • Interactive Audio Route Button: The in-call audio route control now cycles cleanly between Earbuds, Speaker, and Earpiece.

4. 🛡️ Google Play Store Policy Compliance

  • Removed Accessibility Service Dependency: Removed the legacy Volume Button PTT AccessibilityService (BIND_ACCESSIBILITY_SERVICE) to comply with Google Play Store policies. Standard Bluetooth / Earbud Button Push-To-Talk via MediaSession remains fully supported.

Full Changelog: v3.0.1...v3.1.0