RFR: 8337960: Improve performance of mfwrapper by reusing GStreamer media buffers for decoded video
Alexander Matveev
almatvee at openjdk.org
Wed Feb 5 03:06:09 UTC 2025
- Added new class `CMFGSTBuffer` which can allocate memory internally or provide GStreamer allocated memory to Media Foundation.
- Added `GstBufferPool` to limit allocation of output buffers used for rendering (memory will not be allocated for each buffer, but instead will be reused from pool). Limits are 3 min buffers and 6 max buffers. During testing 3 buffers was enough.
- Changed `CoInitializeEx` to `COINIT_MULTITHREADED` as per Media Foundation requirements.
- Added error handling for `ProcessOutput` in case of https://bugs.openjdk.org/browse/JDK-8329227. With error handling `MediaPlayer` fails nicely instead of silent hang.
-------------
Commit messages:
- 8337960: Improve performance of mfwrapper by reusing GStreamer media buffers for decoded video
Changes: https://git.openjdk.org/jfx/pull/1695/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1695&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8337960
Stats: 842 lines in 8 files changed: 592 ins; 64 del; 186 mod
Patch: https://git.openjdk.org/jfx/pull/1695.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1695/head:pull/1695
PR: https://git.openjdk.org/jfx/pull/1695
More information about the openjfx-dev
mailing list