Title: [186074] trunk/Source/WebCore
Revision
186074
Author
[email protected]
Date
2015-06-29 11:46:37 -0700 (Mon, 29 Jun 2015)

Log Message

[iOS] Pausing a media element should discard buffered data immediately if under memory pressure.
<https://webkit.org/b/146410>
<rdar://problem/20366883>

Reviewed by Darin Adler.

When moving a media element into paused state, call purgeBufferedDataIfPossible()
right away if the system is under memory pressure.

This ensures that mediaserverd drops its forward-looking frame queue right
away instead of waiting for a new pressure notification.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::pauseInternal):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (186073 => 186074)


--- trunk/Source/WebCore/ChangeLog	2015-06-29 17:43:46 UTC (rev 186073)
+++ trunk/Source/WebCore/ChangeLog	2015-06-29 18:46:37 UTC (rev 186074)
@@ -1,3 +1,20 @@
+2015-06-29  Andreas Kling  <[email protected]>
+
+        [iOS] Pausing a media element should discard buffered data immediately if under memory pressure.
+        <https://webkit.org/b/146410>
+        <rdar://problem/20366883>
+
+        Reviewed by Darin Adler.
+
+        When moving a media element into paused state, call purgeBufferedDataIfPossible()
+        right away if the system is under memory pressure.
+
+        This ensures that mediaserverd drops its forward-looking frame queue right
+        away instead of waiting for a new pressure notification.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::pauseInternal):
+
 2015-06-29  Matt Rajca  <[email protected]>
 
         Media Session: Media elements should report a null session for Default sessions

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (186073 => 186074)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-06-29 17:43:46 UTC (rev 186073)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-06-29 18:46:37 UTC (rev 186074)
@@ -65,6 +65,7 @@
 #include "MediaPlayer.h"
 #include "MediaQueryEvaluator.h"
 #include "MediaResourceLoader.h"
+#include "MemoryPressureHandler.h"
 #include "NetworkingContext.h"
 #include "PageGroup.h"
 #include "PageThrottler.h"
@@ -2923,6 +2924,9 @@
         m_paused = true;
         scheduleTimeupdateEvent(false);
         scheduleEvent(eventNames().pauseEvent);
+
+        if (MemoryPressureHandler::singleton().isUnderMemoryPressure())
+            purgeBufferedDataIfPossible();
     }
 
     updatePlayState();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to