[MSE] Decode glitches when watching videos on CNN.com
<rdar://problem/55685630>
Created attachment 388034 [details] Patch
Comment on attachment 388034 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=388034&action=review Looks good to me. > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1680 > + // When appending media containing P-frames (media whose samples' presentation timestamps I think you mean B-frames. A movie with only I-frames and P-frames has monotonic presentation timestamps, and usually PTS=DTS. > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1691 > + auto nextDecodedSample = trackBuffer.samples.decodeOrder().findSampleAfterDecodeKey(decodeKey); nextDecodeSample, nextSampleDTS, nextSampleInDecodeOrder or even just nextSample. > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1699 > + if (nextSyncSample == nextDecodedSample) The only way this could be true is if nextDecodeSample == end(), but that was checked already above.
Comment on attachment 388034 [details] Patch Thanks Alicia!
(In reply to Alicia Boya García from comment #3) > Comment on attachment 388034 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=388034&action=review > > Looks good to me. > > > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1680 > > + // When appending media containing P-frames (media whose samples' presentation timestamps > > I think you mean B-frames. A movie with only I-frames and P-frames has > monotonic presentation timestamps, and usually PTS=DTS. Whoops, looks like I got that... backwards. > > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1691 > > + auto nextDecodedSample = trackBuffer.samples.decodeOrder().findSampleAfterDecodeKey(decodeKey); > > nextDecodeSample, nextSampleDTS, nextSampleInDecodeOrder or even just > nextSample. As you can tell from SampleMap, I don’t mind long, descriptive names, so maybe I’ll go with “nextSampleInDecodeOrder”. > > Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1699 > > + if (nextSyncSample == nextDecodedSample) > > The only way this could be true is if nextDecodeSample == end(), but that > was checked already above. Good catch!
Created attachment 388053 [details] Patch for landing
Comment on attachment 388053 [details] Patch for landing Clearing flags on attachment: 388053 Committed r254761: <https://trac.webkit.org/changeset/254761>
All reviewed patches have been landed. Closing bug.