Bug 135424

Summary: [MSE] Re-enqueing due to overlapping appended samples can cause stuttering playback
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: REOPENED ---    
Severity: Normal CC: buildbot, calvaris, commit-queue, eric.carlson, glenn, ltilve, philipj, rniwa, sergio, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2
none
Patch for landing none

Description Jer Noble 2014-07-30 11:33:41 PDT
[MSE] Re-enqueing due to overlapping appended samples can cause stuttering playback
Comment 1 Jer Noble 2014-07-30 11:39:57 PDT
Created attachment 235754 [details]
Patch
Comment 2 Build Bot 2014-07-30 12:43:23 PDT
Comment on attachment 235754 [details]
Patch

Attachment 235754 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5310733680115712

New failing tests:
media/media-fragments/TC0001.html
Comment 3 Build Bot 2014-07-30 12:43:27 PDT
Created attachment 235757 [details]
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-11  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 4 Radar WebKit Bug Importer 2014-07-31 01:51:44 PDT
<rdar://problem/17868348>
Comment 5 Eric Carlson 2014-08-01 16:18:28 PDT
Comment on attachment 235754 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=235754&action=review

Does it matter that you ignore the "time" parameter?

> Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1403
> +        if (nextSyncSampleIter != trackBuffer.samples.decodeOrder().end()) {

Nit: you use trackBuffer.samples.decodeOrder().end() here and in the loop below, might as well cache it in a variable.
Comment 6 Jer Noble 2014-08-04 09:07:58 PDT
Created attachment 235975 [details]
Patch for landing
Comment 7 Jer Noble 2014-08-04 09:08:34 PDT
(In reply to comment #5)
> (From update of attachment 235754 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=235754&action=review
> 
> Does it matter that you ignore the "time" parameter?

No, but to clarify what's going on, I extracted that if statement into its own method.

> > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1403
> > +        if (nextSyncSampleIter != trackBuffer.samples.decodeOrder().end()) {
> 
> Nit: you use trackBuffer.samples.decodeOrder().end() here and in the loop below, might as well cache it in a variable.

Ok.
Comment 8 Jer Noble 2014-08-04 10:26:57 PDT
Comment on attachment 235975 [details]
Patch for landing

Clearing flags on attachment: 235975

Committed r171995: <http://trac.webkit.org/changeset/171995>
Comment 9 Jer Noble 2014-08-04 10:27:04 PDT
All reviewed patches have been landed.  Closing bug.
Comment 10 Jer Noble 2014-08-04 15:00:03 PDT
Rolled out in r172007 <http://trac.webkit.org/r172007>. Re-opening.