Title: [178437] branches/safari-600.5-branch/Source/WebCore
- Revision
- 178437
- Author
- [email protected]
- Date
- 2015-01-14 12:36:01 -0800 (Wed, 14 Jan 2015)
Log Message
Merged r171215. <rdar://problem/19424110>
Modified Paths
Diff
Modified: branches/safari-600.5-branch/Source/WebCore/ChangeLog (178436 => 178437)
--- branches/safari-600.5-branch/Source/WebCore/ChangeLog 2015-01-14 20:32:39 UTC (rev 178436)
+++ branches/safari-600.5-branch/Source/WebCore/ChangeLog 2015-01-14 20:36:01 UTC (rev 178437)
@@ -1,3 +1,39 @@
+2015-01-14 Dana Burkart <[email protected]>
+
+ Merged r171215. <rdar://problem/19424110>
+
+ 2014-07-17 Jer Noble <[email protected]>
+
+ [MSE] Re-enqueue after a removeCodedFrames() only if the removed frames overlap what may have possibly been enqueued but undisplayed.
+ https://bugs.webkit.org/show_bug.cgi?id=135039
+
+ Reviewed by Eric Carlson.
+
+ When a client calls removeCodedFrames(), we must re-enqueue those ranges if the removed samples overlap with
+ enqueued but possibly un-displayed samples. Otherwise, replacement samples may lead to decode errors as those
+ new samples dependencies are not met. But if we re-enqueue too frequently, this may cause subtle but noticible
+ display timing glitches, so only re-enqueue when removeCodedFrames have a possiblity of removing enqueued, but
+ not yet displayed samples.
+
+ * Modules/mediasource/SourceBuffer.cpp:
+ (WebCore::SourceBuffer::removeCodedFrames):
+
+ 2014-07-17 David Kilzer <[email protected]>
+
+ SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
+ <http://webkit.org/b/135006>
+
+ Reviewed by Darin Adler.
+
+ * Configurations/Base.xcconfig: Move SECTORDER_FLAGS to
+ WebCore.xcconfig.
+ * Configurations/DebugRelease.xcconfig: Remove empty
+ SECTORDER_FLAGS definition.
+ * Configurations/WebCoreTestShim.xcconfig: Ditto.
+ * Configurations/WebCoreTestSupport.xcconfig: Ditto.
+ * Configurations/WebCore.xcconfig: Use $(CONFIGURATION) so
+ SECTORDER_FLAGS is only set on Production builds.
+
2015-01-07 Matthew Hanson <[email protected]>
Merge r178065. rdar://problem/19317526
Modified: branches/safari-600.5-branch/Source/WebCore/Modules/mediasource/SourceBuffer.cpp (178436 => 178437)
--- branches/safari-600.5-branch/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2015-01-14 20:32:39 UTC (rev 178436)
+++ branches/safari-600.5-branch/Source/WebCore/Modules/mediasource/SourceBuffer.cpp 2015-01-14 20:36:01 UTC (rev 178437)
@@ -644,6 +644,13 @@
trackBuffer.needsReenqueueing = true;
}
+ // Only force the TrackBuffer to re-enqueue if the removed ranges overlap with enqueued and possibly
+ // not yet displayed samples.
+ PlatformTimeRanges possiblyEnqueuedRanges(currentMediaTime, trackBuffer.lastEnqueuedPresentationTime);
+ possiblyEnqueuedRanges.intersectWith(erasedRanges->ranges());
+ if (possiblyEnqueuedRanges.length())
+ trackBuffer.needsReenqueueing = true;
+
erasedRanges->invert();
m_buffered->intersectWith(*erasedRanges);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes