Skip to content

HEVC-TS transmuxing display window #7392

@avelad

Description

@avelad

What version of Hls.js are you using?

1.6.7

What browser (including version) are you using?

Safari 18.5

What OS (including version) are you using?

macOS

Test stream

Rob has it, but it's private

Configuration

{}

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. Load the stream

Expected behaviour

The stream is rendered correctly

What actually happened?

The stream displays correctly in Chrome/Edge/Opera, but in Safari the stream is cut off:
Chrome:
Image
Safari:
Image

By changing the hls.js code, it seems to render correctly, but I'm no expert on this...

diff --git a/src/demux/video/hevc-video-parser.ts b/src/demux/video/hevc-video-parser.ts
index 485ee85c6..c078afd79 100644
--- a/src/demux/video/hevc-video-parser.ts
+++ b/src/demux/video/hevc-video-parser.ts
@@ -516,10 +516,10 @@ class HevcVideoParser extends BaseVideoParser {
       eg.readBoolean(); // frame_field_info_present_flag
       default_display_window_flag = eg.readBoolean();
       if (default_display_window_flag) {
-        pic_left_offset += eg.readUEG();
-        pic_right_offset += eg.readUEG();
-        pic_top_offset += eg.readUEG();
-        pic_bottom_offset += eg.readUEG();
+        eg.readUEG();
+        eg.readUEG();
+        eg.readUEG();
+        eg.readUEG();
       }
       const vui_timing_info_present_flag = eg.readBoolean();
       if (vui_timing_info_present_flag) {

Console output

-

Chrome media internals output

-

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugConfirmedBug report confirmed or reproduced.

    Type

    No type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions