RFR: 8337960: Improve performance of mfwrapper by reusing GStreamer media buffers for decoded video [v2]

Alexander Matveev almatvee at openjdk.org
Thu Feb 13 03:51:28 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.

Alexander Matveev has updated the pull request incrementally with one additional commit since the last revision:

  8337960: Improve performance of mfwrapper by reusing GStreamer media buffers for decoded video [v2]

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1695/files
  - new: https://git.openjdk.org/jfx/pull/1695/files/4bc76966..0cf270ca

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1695&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1695&range=00-01

  Stats: 110 lines in 3 files changed: 60 ins; 12 del; 38 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