components/background_components/segmenter/segmenter library
Segmenter - Conditional Export Router
This file uses Dart's conditional imports to automatically select the correct platform-specific implementation at compile time.
How It Works
export 'segmenter_stub.dart' // Default (fallback)
if (dart.library.io) 'segmenter_mobile.dart'; // Android/iOS
The compiler picks the RIGHT implementation based on the target platform. No runtime checks needed - it's resolved at build time.
Adding Web Support (Future)
When TensorFlow.js support is added:
export 'segmenter_stub.dart'
if (dart.library.html) 'segmenter_web.dart' // Web
if (dart.library.io) 'segmenter_mobile.dart'; // Mobile
Usage
import 'package:mediasfu_sdk/components/background_components/segmenter/segmenter.dart';
final segmenter = createSegmenter();
await segmenter.initialize();
Classes
- BackgroundSegmenterBase
- Abstract base class for background segmenters.
- SegmenterConfig
- Configuration options for the segmenter.
- SegmenterInputMetadata
- Metadata for input images.
- StubSegmenter
- Stub implementation that returns frames unprocessed.
Enums
- SegmenterInputFormat
- Input image format for the segmenter.
Functions
-
createSegmenter(
) → BackgroundSegmenterBase - Factory function - returns StubSegmenter.
Typedefs
- SegmenterFactory = BackgroundSegmenterBase Function()
- Factory function type for creating segmenters.