RFR: 8329227: Seek might hang with fMP4 H.265/HEVC or H.265/HEVC over HTTP/FILE

Kevin Rushforth kcr at openjdk.org
Thu Apr 17 15:16:51 UTC 2025


On Sat, 12 Apr 2025 01:43:29 GMT, Alexander Matveev <almatvee at openjdk.org> wrote:

> - Fixed by reloading decoder for each seek.
> - Tested with all H.265 files for HLS/HTTP/FILE, no issues found.
> - Seek performance is not affected or at least I did not notice any performance issues when doing reload for each seek.
> 
> This is workaround and no other reasonable solutions were found.

I left a few questions on the code changes. I haven't tested it yet.

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 259:

> 257:     // pDecoderOutput is released.
> 258:     SafeRelease(&decoder->pDecoderOutput);
> 259:     decoder->pDecoderBuffer = NULL;

Is setting this to NULL sufficient or does it need to be freed / released first?

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 267:

> 265:         // pColorConvertOutput is released.
> 266:         SafeRelease(&decoder->pColorConvertOutput[i]);
> 267:         decoder->pColorConvertBuffer[i] = NULL;

Is setting this to NULL sufficient or does it need to be freed / released first?

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 1107:

> 1105:         {
> 1106:             SafeRelease(&decoder->pColorConvertOutput[i]);
> 1107:             decoder->pColorConvertBuffer[i] = NULL;

Same question as above.

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 1574:

> 1572:                                      g_strdup("Failed to reload decoder"), NULL,
> 1573:                                      ("mfwrapper.c"), ("mfwrapper_sink_event"), 0);
> 1574:             }

Is this a fatal error? If so, do you need to return early here?

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

PR Review: https://git.openjdk.org/jfx/pull/1775#pullrequestreview-2776106535
PR Review Comment: https://git.openjdk.org/jfx/pull/1775#discussion_r2049156892
PR Review Comment: https://git.openjdk.org/jfx/pull/1775#discussion_r2049157580
PR Review Comment: https://git.openjdk.org/jfx/pull/1775#discussion_r2049164737
PR Review Comment: https://git.openjdk.org/jfx/pull/1775#discussion_r2049172358


More information about the openjfx-dev mailing list