RFR: 8357714: AudioClip.play crash on macOS when loading resource from jar

Alexander Matveev almatvee at openjdk.org
Thu Jul 3 22:02:44 UTC 2025


On Wed, 2 Jul 2025 21:47:05 GMT, Johan Vos <jvos at openjdk.org> wrote:

> After JDK-8287822 (https://bugs.openjdk.org/browse/JDK-8287822), mpeg file content is no longer played via GSTPlatform but via OSXPlatform. 
> We need to correctly handle data in case the source is a file inside a jar, in which case CJavaInputStreamCallbacks is used.
> 
> The 2 changes I made are:
> 1. Use ConnectionHolder instead of Locator for CJavaInputStreamCallbacks in case a jar resource is used.
> 2. In case of random access datasource, use readBlock instead of readNextBlock in AVMediaPlayer

Looks good overall.
- Undo changed in `AVFMediaPlayer.mm`. There is no need for it and this code will never execute.
- Add NULL pointer check and deletion of `callbacks` if not NULL.
- Change title for issue to something like `MediaPlayer and AudioClip can crash when playing media files over "jar" and "jrt" protocols via OSXPlatform`.

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

PR Comment: https://git.openjdk.org/jfx/pull/1839#issuecomment-3033789612


More information about the openjfx-dev mailing list