Skip to content

Optimize memory management and performance in Windows and Mac video player.#106

Merged
kdroidFilter merged 4 commits intomasterfrom
windows-jna-direct
Aug 24, 2025
Merged

Optimize memory management and performance in Windows and Mac video player.#106
kdroidFilter merged 4 commits intomasterfrom
windows-jna-direct

Conversation

@kdroidFilter
Copy link
Copy Markdown
Owner

@kdroidFilter kdroidFilter commented Aug 24, 2025

Summary

This pull request includes the following enhancements:

  • Enhanced memory management: Added explicit garbage collection (GC) calls after cleanup in WindowsVideoPlayerState to improve memory optimization.
  • Improved resize handling: Simplified logic in WindowsVideoPlayerState by removing redundant operations, adjusting debounce delay, and increasing pipeline responsiveness for smoother resizing.
  • Refactored library mapping: Updated MediaFoundationLib(Windows) and SharedVideoPlayer(Mac) to use JNA direct mapping instead of interface-based loading, resulting in better performance and simpler codebase.

Replaces interface-based library loading with object-based JNA direct mapping for improved performance and simplicity. Adjusts related method calls and removes redundant singleton implementation.
Simplified resize logic by removing redundant memory cleanup and heavy operations. Introduced a shorter debounce delay for smoother resizing and adjusted pipeline responsiveness to reduce latency during resize events.
… mapping. Simplify native method calls across `MacVideoPlayerState`.
@kdroidFilter kdroidFilter changed the title Optimize memory management and performance in Windows video player. Optimize memory management and performance in Windows and Mac video player. Aug 24, 2025
@kdroidFilter kdroidFilter merged commit e31a083 into master Aug 24, 2025
3 checks passed
@kdroidFilter kdroidFilter deleted the windows-jna-direct branch April 11, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant