RFR: 8282054: Mediaplayer not working with HTTP Live Stream link with query parameter appended with file extension m3u8

Alexander Matveev almatvee at openjdk.java.net
Fri Mar 11 03:08:24 UTC 2022


- Problem was that our code which checks if URI ends with file extension was not considering that URI can have query parameters. Fixed by checking URI path, instead of actual URI.
- Also, creation of HLS Connection holder was missing checking for mimetype, since we do support URI without extensions as long as they provide correct mimetype.
- Added #EXTM3U to file signature check in case if extension and mimetype checks failed to determine stream type. All playlists of HLS based on spec should start with #EXTM3U. For some reason this particular stream has mimetype of "audio/x-mpegurl" and it is not mimetype from spec. Based on spec it should be "audio/mpegurl". Thus check for signature was added in case if URI does not use extension and has unsupported mimetype.

Note: audio will not work on Windows and Linux for stream provided in this bug report due to provided example uses separate audio stream via EXT-X-MEDIA tag and it is not supported. I filed separate issue for this.

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

Commit messages:
 - 8282054: Mediaplayer not working with HTTP Live Stream link with query parameter appended with file extension m3u8

Changes: https://git.openjdk.java.net/jfx/pull/750/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=750&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8282054
  Stats: 65 lines in 2 files changed: 27 ins; 3 del; 35 mod
  Patch: https://git.openjdk.java.net/jfx/pull/750.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/750/head:pull/750

PR: https://git.openjdk.java.net/jfx/pull/750


More information about the openjfx-dev mailing list