Title: [240451] trunk/Source/WebCore
Revision
240451
Author
jer.no...@apple.com
Date
2019-01-24 15:15:56 -0800 (Thu, 24 Jan 2019)

Log Message

Fix leak of AVSampleBufferRenderSynchronizer boundaryObserver object.
https://bugs.webkit.org/show_bug.cgi?id=193778

Reviewed by Jon Lee.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (240450 => 240451)


--- trunk/Source/WebCore/ChangeLog	2019-01-24 22:58:09 UTC (rev 240450)
+++ trunk/Source/WebCore/ChangeLog	2019-01-24 23:15:56 UTC (rev 240451)
@@ -1,3 +1,13 @@
+2019-01-24  Jer Noble  <jer.no...@apple.com>
+
+        Fix leak of AVSampleBufferRenderSynchronizer boundaryObserver object.
+        https://bugs.webkit.org/show_bug.cgi?id=193778
+
+        Reviewed by Jon Lee.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime):
+
 2019-01-24  Zalan Bujtas  <za...@apple.com>
 
         DidFirstVisuallyNonEmptyLayout milestone should always fire at some point.

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (240450 => 240451)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2019-01-24 22:58:09 UTC (rev 240450)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2019-01-24 23:15:56 UTC (rev 240451)
@@ -1103,7 +1103,10 @@
 {
     __block WTF::Function<void()> taskIn = WTFMove(task);
 
-    [m_synchronizer addBoundaryTimeObserverForTimes:@[[NSValue valueWithCMTime:toCMTime(time)]] queue:dispatch_get_main_queue() usingBlock:^{
+    if (m_performTaskObserver)
+        [m_synchronizer removeTimeObserver:m_performTaskObserver.get()];
+
+    m_performTaskObserver = [m_synchronizer addBoundaryTimeObserverForTimes:@[[NSValue valueWithCMTime:toCMTime(time)]] queue:dispatch_get_main_queue() usingBlock:^{
         taskIn();
     }];
     return true;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to