RFR: 8328603: HLS video stream fails to render consistently

Alexander Matveev almatvee at openjdk.org
Sat Apr 13 01:41:10 UTC 2024


- When video fails to render AVFoundation outputs frame in `kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange` format which is not supported. We do force format change after that to `kCVPixelFormatType_422YpCbCr8`, but AVFoundation does not provides any video frames after format change. Not sure why it happens.
- When video worked for stream in this issue, then AVFoundation was using `kCVPixelFormatType_422YpCbCr8` for some reason instead of `kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange`.
- I tested format fallback from `kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange` to `kCVPixelFormatType_422YpCbCr8` manually and many streams I tried works fine, except one reported in this bug.
- If AVFoundation is initialized with list of formats JavaFX Media rendering supports, then this issue is no longer reproducible.
- Fixed by providing list of supported formats to AVFoundation.
- Removed unused variable `response`.
- Tested with all streams I have and no issues found.

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

Commit messages:
 - 8328603: HLS video stream fails to render consistently

Changes: https://git.openjdk.org/jfx/pull/1440/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1440&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8328603
  Stats: 19 lines in 1 file changed: 16 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jfx/pull/1440.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1440/head:pull/1440

PR: https://git.openjdk.org/jfx/pull/1440


More information about the openjfx-dev mailing list