media_route_contracts 0.1.0 copy "media_route_contracts: ^0.1.0" to clipboard
media_route_contracts: ^0.1.0 copied to clipboard

Versioned image and video compression requests, capabilities, and results shared by MaxMedia Flutter plugins.

media_route_contracts #

Shared, versioned request and result types for the MaxMedia image and video compression plugins. This is a Dart-only package; it does not encode media.

Most applications can import these types directly from maxmedia_image_native or maxmedia_video_native, which re-export this package.

Contracts #

  • ImageCompressionRequest: format, quality, optional size limits, resize policy, color-space policy, and optional two-pass size target.
  • VideoCompressionRequest: codec, container, average bitrate, optional short-side limit, audio choice, and HDR policy. The default keeps detected HDR sources unchanged when color-preserving transcoding is unverified.
  • CapabilityReport: formats, codecs, features, and platform warnings reported by the active native executor.
  • CompressionResult: terminal status, byte counts, actual settings, elapsed time, and warnings. compressionRatio is output bytes divided by input bytes.

Requests serialize with schemaVersion: 1. A reader rejects an unknown request schema rather than guessing its meaning. ImageCompressionRequest.fromJson accepts older V1 payloads without the newer optional resize fields.

import 'package:media_route_contracts/media_route_contracts.dart';

final request = ImageCompressionRequest(
  inputPath: '/absolute/input.jpg',
  outputPath: '/absolute/output.webp',
  format: ImageFormat.webp,
  quality: 0.8,
  resizePolicy: ImageResizePolicy.social,
);

final payload = request.toJson();
final restored = ImageCompressionRequest.fromJson(payload);

Input and output paths must refer to different local files. Platform support and codec availability are determined at runtime through the native plugins' capabilities() calls.

0
likes
150
points
47
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Versioned image and video compression requests, capabilities, and results shared by MaxMedia Flutter plugins.

Homepage
Repository (GitHub)
View/report issues

Topics

#media #compression

License

BSD-3-Clause (license)

More

Packages that depend on media_route_contracts