Skip to content

Latest commit

 

History

History
111 lines (73 loc) · 3.08 KB

File metadata and controls

111 lines (73 loc) · 3.08 KB

Changelog

3.0.5

Bug Fixes

  • Fix output buffer sizing for BufferedOpusDecoder (was 4x too small for float output) and inverted multiplier in StreamOpusDecoder
  • Fix opus_encoder_ctl variadic ABI mismatch under WASM by adding a non-variadic C wrapper
  • Prevent asTypedList view detachment on WASM memory growth by returning Dart-heap copies
  • Always copy streaming output to the Dart heap, eliminating use-after-write hazards in StreamOpusEncoder and StreamOpusDecoder
  • Guard encoder/decoder methods against use after destroy() with OpusDestroyedError
  • Attach Finalizer to encoder/decoder classes for GC-driven native resource cleanup
  • Prevent memory leak when a second native allocation throws
  • Add _asString bounds guard (cap at 256 bytes) to prevent unbounded scanning
  • Register missing OpusCustomMode opaque type in init_web.dart (was duplicating OpusRepacketizer)
  • Export _opus_encoder_ctl in WASM Dockerfile EXPORTED_FUNCTIONS

Refactoring

  • Extract duplicated encode logic into _createOpusEncoder and _doEncode / _encodeBuffer helpers
  • Extract duplicated decode logic into shared helpers and replace magic numbers with named constants
  • Deduplicate OpusPacketUtils with a shared _withNativePacket helper
  • Simplify getOpusVersion implementation
  • Add bytesPerInt16Sample and bytesPerFloatSample constants in opus_dart_misc.dart

Chores

  • Add repository field to pubspec and CHANGELOG.md
  • Fix typos across comments and documentation
  • Add RFC 6716 validation note to maxDataBytes
  • Add comprehensive tests for buffer sizing, bounds checking, use-after-destroy, and allocation failure cleanup

3.0.4

  • Add Swift Package Manager support to opus_codec_ios and opus_codec_macos
  • Migrate iOS and macOS plugin source files to SPM-compatible directory layout
  • Retain CocoaPods compatibility for both platforms
  • Bump all package versions
Package Version
opus_dart 3.0.4
opus_flutter 3.0.4
opus_flutter_android 3.0.4
opus_flutter_ios 3.0.4
opus_flutter_linux 3.0.4
opus_flutter_macos 3.0.4
opus_flutter_platform_interface 3.0.4
opus_flutter_web 3.0.4
opus_flutter_windows 3.0.4

3.0.3

  • Depend on opus_flutter_ios:3.0.1 and opus_flutter_android:3.0.1
  • Depend on newer web_ffi version for web support

3.0.2

  • libopus 1.3.1
  • Updated example

3.0.1

  • libopus 1.3.1
  • Depend on newer opus_flutter_web version

3.0.0

  • Migrate all packages to opus_codec namespace
  • Adopt federated plugin structure with platform interface
  • Add macOS, Linux, and Windows support
  • Web support using web_ffi
  • libopus 1.3.1

2.0.1

  • libopus 1.3.1
  • Minor formatting fixes

2.0.0

  • libopus 1.3.1
  • Updated for opus_dart 2.0.1, supporting null safety
  • Moved to federated plugin structure

1.1.0

  • libopus 1.3.1
  • Update for opus_dart 1.0.4
  • Migrated to new plugin map in pubspec.yaml
  • Included iOS binaries

1.0.1

  • libopus 1.3.1
  • Update for opus_dart 1.0.3

1.0.0

  • libopus 1.3.1
  • Initial release