Skip to main content

max2000_dual_video 0.0.5 copy "max2000_dual_video: ^0.0.5" to clipboard
max2000_dual_video: ^0.0.5 copied to clipboard

Native synchronized dual-video playback for Flutter on Android (Media3 / ExoPlayer) and iOS (AVFoundation).

0.0.5 #

  • Clips filmed with the phone the other way round (rotation tag 180, or 90/270) now play upright. Each player reports PlayerState.rotationDegrees -- the clip's rotation tag on Android (0 when Flutter's surface already applies it, SurfaceProducer.handlesCropAndRotation), the video track's preferredTransform on iOS -- and Max2000DualVideoPlayerView takes it as rotationDegrees and turns the texture. Before, both platforms showed such clips upside down.

0.0.4 #

  • iOS implementation verified on a real iPhone (TestFlight build of the MAX2000 app): linked playback stays in sync, seeking and scrubbing work.

  • iOS support. New AVFoundation implementation of the same engine (ios/Classes/DualVideoEngine.swift): two AVPlayers, exact (zero tolerance) seeking, the same drift-correction thresholds and boundary behavior, frame stepping, linked and unlinked (per-player) modes, and per-player volume. Frames are rendered through FlutterTexture (fed by an AVPlayerItemVideoOutput + CADisplayLink), matching Android's texture-based rendering. Same channels, commands and state wire shape, so the Dart API is unchanged.

0.0.3 #

  • Rendering rewrite: video surfaces now come from Flutter's own TextureRegistry/Texture widget (the same mechanism package:video_player uses) instead of a PlatformView. Fixes a black video window that persisted until an unrelated touch elsewhere in the app forced a relayout.
  • Breaking: Max2000DualVideoPlayerView now takes textureId (int?, from DualVideoEngineState.textureIdA/textureIdB) instead of player (String).
  • Removed the media3-ui dependency (no longer needed).

0.0.2 #

  • Lowered the Dart SDK constraint to >=3.0.0 <4.0.0 for build compatibility with older toolchains.

0.0.1 #

  • Initial release: production dual-video synchronization engine (Max2000DualVideoEngine) with linked master-timeline playback and independent per-player (unlinked) mode.
0
likes
140
points
60
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Native synchronized dual-video playback for Flutter on Android (Media3 / ExoPlayer) and iOS (AVFoundation).

Repository (GitHub)

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on max2000_dual_video

Packages that implement max2000_dual_video