🚀 New Features
- Added CompressionSettings class
New builder-pattern configuration for video compression parameters:
CompressionSettings.Builder()
.setTargetSize(1280, 720)
.setBitrate(5_000_000)
.setEncoderSelectionMode(EncoderSelectionMode.TRY_ALL)
.build()-
Smart resolution adjustment
Automatically adjusts video dimensions to meet codec alignment requirements and stay within encoder-supported ranges. -
Configurable encoder selection
New EncoderSelectionMode with options: use system default encoder (fastest) or attempt all available encoders (maximum compatibility)
⚙️ Improvements
- Refactored core compression logic to use the new settings class
- Enhanced error recovery when encountering unsupported resolutions
- Added validation for compression parameters
⚠️ Breaking Changes
- Removed deprecated VideoCompressor direct property setters
- Migrate to using CompressionSettings instead:
- compressor.width = 1280
- compressor.height = 720
+ CompressionSettings.Builder().setTargetSize(1280, 720).build()