Bug 165342 - [MSE] SourceBuffer abort() before appending segment causes partial segment
Summary: [MSE] SourceBuffer abort() before appending segment causes partial segment
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: Safari 10
Hardware: Unspecified Unspecified
: P1 Normal
Assignee: Nobody
Keywords: InRadar
Depends on:
Reported: 2016-12-02 14:54 PST by Joey Parrish
Modified: 2017-10-03 14:46 PDT (History)
4 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
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. and WebKit nightly r209234.
Comment 1 Radar WebKit Bug Importer 2017-02-26 17:07:31 PST
Comment 2 Radar WebKit Bug Importer 2017-02-26 17:08:11 PST
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
Comment 5 Joey Parrish 2017-10-03 14:46:17 PDT
Still reproducible on Safari 11.