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

Reply via email to