Releases: kdroidFilter/ComposeMediaPlayer
0.7.3
What's Changed
- Bump org.jetbrains.compose from 1.7.3 to 1.8.0 by @dependabot in #48
Full Changelog: v0.7.2...v0.7.3
0.7.2
0.7.1
What's Changed
- Use background thread for video URI loading on MacOs by @kdroidFilter in #46
Full Changelog: v0.7.0...v0.7.1
0.7.0
🎉 Compose Media Player v0.7.0 🎉
We're excited to announce the release of Compose Media Player version 0.7.0! This update brings several significant enhancements to improve your video playback experience across all supported platforms.
🚀 What's New
Advanced Playback Features
- Fullscreen Mode: Seamlessly toggle between windowed and fullscreen playback modes with customizable UI for each state.
- Custom Overlay UI in Fullscreen Mode: Create fully customized player interfaces that remain visible even in fullscreen mode, giving you complete control over the user experience.
- Playback Speed Control: Easily adjust video playback speed between 0.5x and 2.0x, allowing users to watch content at their preferred pace.
Enhanced Visual Experience
- Content Scaling Options: Choose from multiple content scaling options (Fit, Crop, FillBounds, Inside, None) to control how video content is displayed within the player surface.
- Enhanced Subtitle Support: Subtitles are now rendered using Compose, ensuring a uniform appearance across all platforms. Customize text appearance with TextStyle parameters and background with color parameters.
Metadata Support
- Metadata Extraction: Access detailed video metadata including title, duration, resolution, bitrate, frame rate, MIME type, and audio information.
Platform Support
- Continued support for all platforms: Android, macOS, Windows, Linux, and Compose Web (Wasm)
- Platform-specific optimizations for better performance
- Windows ARM64 Ready: The native Windows library is now also compiled for ARM64, paving the way for upcoming Windows ARM64 support with Compose Multiplatform 1.8.0.
🐛 Bug Fixes
- Fixed "Error in WASM: 'CompositionLocal LayerContainer not provided' when testing library" (#45)
- Fixed "Error when using ComposeMediaPlayer in Windows 11" (#39)
- Implemented content scale parameter (#37)
- Windows, Linux, and WASMJS now support playing multiple videos simultaneously
- Windows now supports videos in 60fps
- Fixed memory leak on Windows that was causing application crashes
- Performance optimization on Windows for reduced CPU usage through better audio/video synchronization
📦 Installation
Update your dependency in build.gradle.kts:
dependencies {
implementation("io.github.kdroidfilter:composemediaplayer:0.7.0")
}📚 Documentation
For detailed documentation and examples, please refer to our README.
🔄 Upgrading from 0.6.x
This release maintains backward compatibility with previous 0.6.x versions. Simply update your dependency version to start using the new features.
🙏 Feedback
We value your feedback! If you encounter any issues or have suggestions for improvements, please open an issue on our GitHub repository.
Thank you for using Compose Media Player!
0.6.4
What's Changed
- Refactor WindowsVideoPlayerState and video player logic by @kdroidFilter in #40
- Implement CORS handling, state improvements, and new logger by @kdroidFilter in #41
- Add dark theme support on the loader of the demo, update workflows, and clean up API by @kdroidFilter in #42
- Update audio, video, styling, workflow, and API functionality by @kdroidFilter in #43
Full Changelog: v0.6.3...v0.6.4
0.6.3
fix aspect ratio issue on Android
Full Changelog: v0.6.2...v0.6.3
0.6.2
Accurate aspect ratio detection for online videos on macOS
Online videos sometimes failed to report their correct dimensions on initial load, leading to incorrect default aspect ratios (typically 16:9).
This was especially noticeable for vertical videos, which appeared squashed.
Fix implemented via dimension polling
The player now polls the video dimensions until they become valid before applying the aspect ratio. This ensures a correct display regardless of video orientation or source.
Full Changelog: v0.6.1...v0.6.2
0.6.1
What's Changed
- Fix rendering issue on macOS
- Bump kotlinx-coroutines from 1.10.1 to 1.10.2 by @dependabot in #38
- Bump io.github.oshai:kotlin-logging from 7.0.5 to 7.0.6 by @dependabot in #32
Full Changelog: v0.6.0...v0.6.1
0.6.0
🎉 Compose Media Player v0.6.0 🎉
🚀 Major rendering upgrade!
✅ Compose Media Player now uses MediaFoundation instead of mfplay, bringing better flexibility.
🎥 Video rendering is now handled via a Canvas Compose, allowing you to seamlessly overlay UI elements on top of the video content.
🚧 This update solves a long-standing limitation where video was rendered through a Swing panel, making overlays impossible.
🔹 This release resolves issue #14
✨ Note: Since versions 0.5.0 (macOS) and 0.5.1 (Linux), video rendering already used Canvas Compose. With this update, all platforms (including Windows) now support overlaying elements on top of video content without any limitations.
🚧 Limitations
📦 Integration
Update your dependency to:
dependencies {
implementation("io.github.kdroidfilter:composemediaplayer:0.6.0")
}No additional setup required — just plug and play! 🚀
Full Changelog: v0.5.3...v0.6.0
💡 Found a bug or have an idea? Share your feedback on our repository and help improve the player. Let's keep pushing the limits! 💪
v0.5.3
What's Changed
- Fix NaN handling in VideoPlayerState for iOS by @kdroidFilter in #33
Full Changelog: v0.5.2...v0.5.3