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.