Bug 165342

Summary: [MSE] SourceBuffer abort() before appending segment causes partial segment
Product: WebKit Reporter: Joey Parrish <joeyparrish>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: RESOLVED MOVED    
Severity: Normal CC: bfulgham, eric.carlson, jer.noble, jonlee, peng.liu6, webkit-bug-importer
Priority: P1 Keywords: InRadar
Version: Safari 14   
Hardware: Unspecified   
OS: Unspecified   

Description Joey Parrish 2016-12-02 14:54:55 PST
Shaka Player (https://github.com/google/shaka-player) discovered that calling abort() on Safari's SourceBuffer before appending a segment sometimes results in only part of the segment showing up in buffer.

In our test, we append the init segment, then call abort(), then append the first media segment.  Only 6.9 seconds of the 10-second segment show up.

This is similar in many ways to this bug on Safari 9:  https://bugs.webkit.org/show_bug.cgi?id=160316
However, the content from that bug does not trigger this one.  It is unclear to me why this bug on Safari 10 is content-specific.


To reproduce:

1. Visit http://storage.googleapis.com/shaka-demo-assets/_bugs/safari-10-mse-abort/index.html in Safari
2. Open the JavaScript console
3. Observe the error message showing that only part of the segment is in buffer.

Reproducible on macOS Sierra, Safari 10.0.1 (12602.2.14.0.7) and WebKit nightly r209234.
Comment 1 Radar WebKit Bug Importer 2017-02-26 17:07:31 PST
<rdar://problem/30725484>
Comment 2 Radar WebKit Bug Importer 2017-02-26 17:08:11 PST
<rdar://problem/30725499>
Comment 3 Joey Parrish 2017-03-23 12:12:50 PDT
Hi all,

Any progress on this?  This is particularly harming our ability to play TS content via MediaSource on Safari.  I am very much looking forward to a Safari tech preview or WebKit nightly with a fix so that we can verify our HLS work on Safari.
Comment 4 Jon Lee 2017-04-01 21:24:48 PDT
<rdar://problem/30725484>
Comment 5 Joey Parrish 2017-10-03 14:46:17 PDT
Still reproducible on Safari 11.
Comment 6 Joey Parrish 2021-02-18 11:55:02 PST
Still broken in Safari 14.0.2.
Comment 7 Brent Fulgham 2022-02-10 13:16:43 PST
The fix for this issue was needed outside the WebKit project, therefore this is being resolved as 'Moved'. No WebKit changes can be made to resolve this issue.

The relevant component believes that this has been resolved (in <rdar://problem/30725484>), but your comment indicates that it has not.

Can you try your test with a current iOS 15 release and confirm the fix? If it has not been fixed, we can re-engage with that team.