-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Closed
Labels
Milestone
Description
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
- The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
- The issue occurs in the stable client (latest release) on https://hlsjs.video-dev.org/demo and not just on my page
- The issue occurs in the latest client (main branch) on https://hlsjs-dev.video-dev.org/demo and not just on my page
- The stream has correct Access-Control-Allow-Origin headers (CORS)
- There are no network errors such as 404s in the browser console when trying to play the stream
Steps to reproduce
- 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:

Safari:

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
-robwalch
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done