Skip to content

WLED TV v1.2.4

Choose a tag to compare

@leonida92 leonida92 released this 09 Oct 20:03
· 53 commits to main since this release

What's New in v1.2.4

Multi-Device Letterbox Crop Fix

  • Fixed an issue where dynamically detected letterbox black bar crops were inadvertently applied to secondary fixtures/lamps that had auto-letterbox disabled, ensuring manual edge crop configurations are always respected.

Zero-Allocation Hot Path Performance

  • Capture Loop Zero Allocations: Decoupled sampleChromaWeightedBox to write directly into output buffers, eliminating ~9,000 temporary array allocations per second at 60 FPS.
  • Dynamic LED Zone Caching: Cached computed perimeter and ambient sub-zones, avoiding per-frame computeLedZones recomputations.
  • Letterbox Probe Caching: Cached scan probe coordinates in detectLetterbox to eliminate repetitive IntArray allocations.
  • UI Render Optimization: Eliminated PointF, RectF, and list allocations inside onDraw() in TvPerimeterPreviewView and ZoneCanvasView for silky smooth live simulation rendering.

Reliability & Resource Leaks

  • Socket Leak Prevention: Ensured UDP sockets are properly closed in onDestroy() across all UI activities (MainActivity, CalibrationActivity, DeviceManagerActivity, EditDeviceActivity).
  • Thread-Safe UDP Streaming: Hardened WledUdpSender with ConcurrentHashMap and synchronized socket lifecycles to prevent race conditions during rapid state transitions.
  • WakeLock Timeout Guard: Added a 6-hour guard timeout to prevent indefinite CPU lock on unexpected service termination.
  • Test Coverage: Added unit tests for WledUdpSender and ColorSmoothingFilter.