Changeset 202641 in webkit
- Timestamp:
- Jun 29, 2016 12:22:59 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r202634 r202641 1 2016-06-29 Jer Noble <jer.noble@apple.com> 2 3 Cannot clear a MediaSource SourceBuffer in Safari 9 and WebKit nightly 4 https://bugs.webkit.org/show_bug.cgi?id=159230 5 6 Reviewed by Eric Carlson. 7 8 * media/media-source/media-source-remove.html: 9 * media/media-source/media-source-remove-expected.txt: 10 1 11 2016-06-29 Joseph Pecoraro <pecoraro@apple.com> 2 12 -
trunk/LayoutTests/media/media-source/media-source-remove-expected.txt
r166423 r202641 10 10 RUN(sourceBuffer.remove(0, 2)) 11 11 EVENT(updateend) 12 EXPECTED (sourceBuffer.buffered.start(0) .toFixed(1)== '4') OK12 EXPECTED (sourceBuffer.buffered.start(0) == '4') OK 13 13 END OF TEST 14 14 -
trunk/LayoutTests/media/media-source/media-source-remove.html
r166423 r202641 49 49 50 50 function checkRemoved() { 51 testExpected('sourceBuffer.buffered.start(0) .toFixed(1)', 4);51 testExpected('sourceBuffer.buffered.start(0)', 4); 52 52 endTest(); 53 53 } -
trunk/Source/WebCore/ChangeLog
r202636 r202641 1 2016-06-29 Jer Noble <jer.noble@apple.com> 2 3 Cannot clear a MediaSource SourceBuffer in Safari 9 and WebKit nightly 4 https://bugs.webkit.org/show_bug.cgi?id=159230 5 6 Reviewed by Eric Carlson. 7 8 Test: media/media-source/media-source-remove.html (modified) 9 10 Move to using a MediaTime directly (rather than as a double) to add 11 and removed buffered ranges. Also, drop the use of the "microsecond" 12 fudge factor when adding buffered ranges. 13 14 * Modules/mediasource/SourceBuffer.cpp: 15 (WebCore::removeSamplesFromTrackBuffer): 16 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): 17 1 18 2016-06-29 Jiewen Tan <jiewen_tan@apple.com> 2 19 -
trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp
r202242 r202641 656 656 { 657 657 #if !LOG_DISABLED 658 double earliestSample = std::numeric_limits<double>::infinity();659 double latestSample = 0;658 MediaTime earliestSample = MediaTime::positiveInfiniteTime(); 659 MediaTime latestSample = MediaTime::zeroTime(); 660 660 size_t bytesRemoved = 0; 661 661 #else … … 665 665 666 666 auto erasedRanges = TimeRanges::create(); 667 MediaTime microsecond(1, 1000000);668 667 for (auto sampleIt : samples) { 669 668 const DecodeOrderSampleMap::KeyType& decodeKey = sampleIt.first; … … 681 680 trackBuffer.decodeQueue.erase(decodeKey); 682 681 683 double startTime = sample->presentationTime().toDouble();684 double endTime = startTime + (sample->duration() + microsecond).toDouble();685 erasedRanges-> add(startTime, endTime);682 auto startTime = sample->presentationTime(); 683 auto endTime = startTime + sample->duration(); 684 erasedRanges->ranges().add(startTime, endTime); 686 685 687 686 #if !LOG_DISABLED … … 696 695 #if !LOG_DISABLED 697 696 if (bytesRemoved) 698 LOG(MediaSource, "SourceBuffer::%s(%p) removed %zu bytes, start(%lf), end(%lf)", logPrefix, buffer, bytesRemoved, earliestSample , latestSample);697 LOG(MediaSource, "SourceBuffer::%s(%p) removed %zu bytes, start(%lf), end(%lf)", logPrefix, buffer, bytesRemoved, earliestSample.toDouble(), latestSample.toDouble()); 699 698 #endif 700 699 … … 1587 1586 m_timestampOffset = frameEndTimestamp; 1588 1587 1589 m_buffered-> add(presentationTimestamp.toDouble(), (presentationTimestamp + frameDuration + microsecond).toDouble());1588 m_buffered->ranges().add(presentationTimestamp, presentationTimestamp + frameDuration); 1590 1589 m_bufferedSinceLastMonitor += frameDuration.toDouble(); 1591 1590 setBufferedDirty(true);
Note: See TracChangeset
for help on using the changeset viewer.