options property

CompressOptions get options

The size limits this level stands for. They follow what video_compress did on Android, where it limited the shorter side; the bitrate now comes from the output size instead of being fixed.

Implementation

CompressOptions get options => switch (this) {
      VideoQuality.DefaultQuality => const CompressOptions(maxShortSide: 720),
      VideoQuality.LowQuality => const CompressOptions(maxShortSide: 360),
      VideoQuality.MediumQuality => const CompressOptions(maxShortSide: 640),
      // video_compress kept the size and fixed 3.7 Mbps, which made 4K blocky.
      VideoQuality.HighestQuality =>
        const CompressOptions(maxShortSide: 1080),
      VideoQuality.Res640x480Quality =>
        const CompressOptions(maxShortSide: 480, maxLongSide: 640),
      VideoQuality.Res960x540Quality =>
        const CompressOptions(maxShortSide: 540, maxLongSide: 960),
      VideoQuality.Res1280x720Quality =>
        const CompressOptions(maxShortSide: 720, maxLongSide: 1280),
      VideoQuality.Res1920x1080Quality =>
        const CompressOptions(maxShortSide: 1080, maxLongSide: 1920),
    };