Skip to content

Releases: atomozero/haiku-uvc-webcam

v0.7.0 - MJPEG fix, audio improvements, crash workarounds

02 Jun 12:05

Choose a tag to compare

Critical Fixes

  • MJPEG streaming now works - Fixed a bug where MJPEG frames were delivered empty (gray screen). The deframer was
    reading from the wrong buffer for MJPEG data
  • SetAlternate crash workaround - Prevents crash on older Haiku versions caused by a double-free bug in
    BUSBInterface::SetAlternate()
  • MJPEG size monitoring - Fixed false "bandwidth insufficient" alarms that triggered unnecessary resolution
    fallbacks
  • Microdia stride quirk - Now only applies when data actually has padding, fixing diagonal line artifacts

Audio Improvements

  • Fixed ReadAudioData blocking and delivery rate
  • Fixed multiple race conditions in the audio ring buffer
  • Proper semaphore cleanup on shutdown

New Features

  • Camera Terminal relative controls (exposure, focus, zoom, pan/tilt)
  • UVC Extension Unit support (SET_CUR/GET_CUR)
  • Sonix LED control via BParameterWeb
  • Extension Unit auto-discovery and selector probing

v0.6.0 - Improved MJPEG support and descriptor parsing

24 May 06:05

Choose a tag to compare

Changes since v0.5.0

Bug Fixes

  • Improved VS descriptor parsing reliability - Added retry logic (up to 3 attempts with delay) for USB Video Streaming descriptor parsing. Fixes intermittent failures where cameras would fall back to hardcoded resolutions.
  • Simplified audio node creation - Cleaner AudioProducer instantiation in AddOn.cpp.

Documentation

  • Updated README with tested webcams and known limitations
  • Added BubiCam 1280x720 MJPEG screenshot

Tested Webcams

  • AUKEY PC-LM1E (1bcf:0001) - MJPEG 1280x720 @ 30fps ✓
  • Microdia Motion Eye (0c45:6409) - YUY2 320x240

Installation

cp aukey_webcam_v4.media_addon /boot/home/config/non-packaged/add-ons/media/

Then restart the media server or reboot.

Requirements

  • Haiku R1/beta5 or later
  • libturbojpeg (for MJPEG decompression)