camera_desktop 1.1.3 copy "camera_desktop: ^1.1.3" to clipboard
camera_desktop: ^1.1.3 copied to clipboard

A Flutter camera plugin for desktop platforms (Linux, macOS, Windows). Implements camera_platform_interface for easy integration with the standard camera package.

1.1.3 #

  • Fix Windows build failure (C4819 / C2220) on hosts with a non-UTF-8 system code page (e.g. CP936 on Simplified Chinese Windows) by compiling the plugin with /utf-8 under MSVC (#2)

1.1.2 #

  • Fix macOS build failure on Xcode 26+ by removing unavailable AVCaptureSessionInterruptionReasonKey (re-introduced in 1.1.1)
  • Fix Windows build failure caused by implicit wchar_t to char conversion in debug logging

1.1.1 #

  • Add comprehensive diagnostic logging across all platforms (Linux, macOS, Windows)
  • Log device enumeration, backend selection, pipeline construction, resolution selection, recording lifecycle, and error paths

1.1.0 #

  • Add PipeWire camera portal support for Flatpak sandbox compatibility on Linux
  • Automatically detect Flatpak environment and use pipewiresrc instead of v4l2src
  • Request camera access via org.freedesktop.portal.Camera D-Bus interface
  • Enumerate PipeWire camera nodes via GstDeviceMonitor
  • Fall back to V4L2 if portal is unavailable or user denies permission
  • No new build dependencies — uses GIO (D-Bus) and GStreamer APIs already linked

1.0.8 #

  • Fix macOS build failure on Xcode 26+ by removing unavailable AVCaptureSessionInterruptionReasonKey (iOS-only API)

1.0.7 #

  • Fix camera initialization failure on Intel Macs by selecting session preset after device discovery using device.supportsSessionPreset() with automatic fallback (1080p → 720p → high → medium)
  • Make canAddInput/canAddOutput failures return a FlutterError instead of silently skipping, preventing blank-screen timeouts
  • Increase initialization timeout from 8s to 15s for slower USB cameras
  • Subscribe to AVCaptureSessionRuntimeError, WasInterrupted, and InterruptionEnded notifications and forward to Dart via cameraError
  • Fix MethodChannel image stream fallback sending hardcoded bytesPerRow instead of actual value from CVPixelBuffer
  • Add diagnostic logging at all critical points in macOS session setup

1.0.6 #

  • Fix Xcode build warnings by declaring PrivacyInfo.xcprivacy as a resource bundle in iOS and macOS podspecs

1.0.5 #

  • Fixes #1: conflict with camera_android and camera_avfoundation dependencies

1.0.4 #

  • Fix macOS Swift Package Manager compatibility

1.0.3 #

  • Fix hot restart FFI crash by replacing NativeCallable with polling

1.0.2 #

  • Fix macOS use-after-free crash during engine teardown by making dispose synchronous/idempotent and guarding FFI callbacks

1.0.1 #

  • Fix xcprivacy build warnings by declaring resource_bundles in iOS and macOS podspecs

1.0.0 #

First stable release of camera_desktop

Platform implementations #

  • macOS, AVFoundation (AVCaptureSession, AVAssetWriter). Preview via CVPixelBuffer textures, H.264/AAC recording, native mirror support.
  • Windows, Media Foundation (IMFCaptureEngine) with Direct3D 11 texture rendering. H.264/AAC recording via IMFSinkWriter.
  • Linux, GStreamer + V4L2 (v4l2src → videoconvert → appsink pipeline). H.264/AAC recording with automatic encoder selection, native mirror via videoflip.

Features #

  • Live camera preview with hardware-accelerated texture rendering on all platforms
  • Photo capture, video recording, and real-time image streaming
  • FFI-based zero-copy frame delivery (MethodChannel fallback for compatibility)
  • Configurable resolution presets, FPS (5–60), and video bitrate
  • Mirror/flip control (macOS and Linux)
  • Pause/resume preview
  • Runtime capability querying via getPlatformCapabilities()

0.0.8 #

  • Migrate Windows implementation to IMFCaptureEngine

0.0.7 #

  • Update example app to show settings panel

0.0.5 #

  • Fix C linkage on Linux

0.0.4 #

  • FFI-based image stream for reduced memory copies (3→2 per frame)
  • Fix macOS Swift/ObjC interop for FFI bridge
  • Fix image format reporting (Linux/Windows RGBA vs macOS BGRA)

0.0.3 #

  • Performance improvements

0.0.2 #

  • Add setMirror API and built-in camera sorting for DeviceEnumerator

0.0.1 #

  • Linux camera support via GStreamer + V4L2.
  • macOS camera support via AVFoundation.
  • Windows camera support via Media Foundation.
  • Full camera_platform_interface compliance.
  • Photo capture, video recording, image streaming, and live preview.
7
likes
160
points
4.12k
downloads

Documentation

API reference

Publisher

verified publisherhugocornellier.com

Weekly Downloads

A Flutter camera plugin for desktop platforms (Linux, macOS, Windows). Implements camera_platform_interface for easy integration with the standard camera package.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

camera_platform_interface, flutter, plugin_platform_interface, stream_transform

More

Packages that depend on camera_desktop

Packages that implement camera_desktop