* Add macOS video playback support using AVPlayer + CVMetalTextureCache Extends the Video widget from Android-only to also support macOS with hardware-accelerated, zero-copy video rendering through Metal. Uses AVPlayer for decoding and CVMetalTextureCache to map decoded frames directly to MTLTextures without CPU copies. Key changes: - New AppleVideoPlayer module (AVPlayer + CVPixelBuffer → MTLTexture pipeline) - FFI bindings for CVMetalTextureCache, CMTime, and related Apple APIs - Video frame polling integrated into macOS paint cycle - TextureFormat::VideoRGB ungated from Android-only to all platforms - Video widget made cross-platform (TextureHandleReady wait is Android-only) - Fixed shader aspect ratio bug (&&→|| for non-positive dimension check) - Added video demo to uizoo and scratchpad examples Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add iOS video playback support * Enhance video playback functionality with seek support and current position tracking Key changes: - Added `seek_video_playback` operation to allow seeking to specific timestamps. - Introduced `current_position_ms` field in `VideoTextureUpdatedEvent` for tracking playback position. - Implemented seeking functionality across iOS, macOS, and Android platforms. - Updated Video widget to support new controls and indicators for seeking. * Improve error handling for unsupported texture pixel formats * Make volume icon drawing use fixed width * Make play/pause drawing use fixed width * Remove video from scratchpad --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| derive_widget | ||
| resources | ||
| src | ||
| build.rs | ||
| Cargo.toml | ||