camera_desktop 1.1.3
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-8under 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_ttocharconversion 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
pipewiresrcinstead ofv4l2src - Request camera access via
org.freedesktop.portal.CameraD-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/canAddOutputfailures return aFlutterErrorinstead of silently skipping, preventing blank-screen timeouts - Increase initialization timeout from 8s to 15s for slower USB cameras
- Subscribe to
AVCaptureSessionRuntimeError,WasInterrupted, andInterruptionEndednotifications and forward to Dart viacameraError - Fix MethodChannel image stream fallback sending hardcoded
bytesPerRowinstead of actual value fromCVPixelBuffer - 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 viaCVPixelBuffertextures, H.264/AAC recording, native mirror support. - Windows, Media Foundation (
IMFCaptureEngine) with Direct3D 11 texture rendering. H.264/AAC recording viaIMFSinkWriter. - Linux, GStreamer + V4L2 (
v4l2src → videoconvert → appsinkpipeline). H.264/AAC recording with automatic encoder selection, native mirror viavideoflip.
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_interfacecompliance. - Photo capture, video recording, image streaming, and live preview.