Title: [170301] trunk/Source/WebCore
Revision
170301
Author
[email protected]
Date
2014-06-23 11:01:24 -0700 (Mon, 23 Jun 2014)

Log Message

[Mac] Uncaught exception crash when destroying MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=134198

Reviewed by Eric Carlson.

Now that we always create an AVPlayerLayer when creating an AVPlayer, but we don't
return that layer from platformLayer() unless we've been asked to, we no longer are
asked to destroy our video layer from MediaPlayerPrivateAVFoundation::tearDownVideoRendering().

Instead, explicitly destroy our video layer (and remove the KVO-observer which is
causing this exception) in the MediaPlayerPrivateAVFoundationObjC destructor.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (170300 => 170301)


--- trunk/Source/WebCore/ChangeLog	2014-06-23 17:50:02 UTC (rev 170300)
+++ trunk/Source/WebCore/ChangeLog	2014-06-23 18:01:24 UTC (rev 170301)
@@ -1,3 +1,20 @@
+2014-06-23  Jer Noble  <[email protected]>
+
+        [Mac] Uncaught exception crash when destroying MediaPlayerPrivateAVFoundationObjC
+        https://bugs.webkit.org/show_bug.cgi?id=134198
+
+        Reviewed by Eric Carlson.
+
+        Now that we always create an AVPlayerLayer when creating an AVPlayer, but we don't
+        return that layer from platformLayer() unless we've been asked to, we no longer are
+        asked to destroy our video layer from MediaPlayerPrivateAVFoundation::tearDownVideoRendering().
+
+        Instead, explicitly destroy our video layer (and remove the KVO-observer which is
+        causing this exception) in the MediaPlayerPrivateAVFoundationObjC destructor.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):
+
 2014-06-23  Andreas Kling  <[email protected]>
 
         Remove unused FrameView::setUseCustomFixedPositionLayoutRect().

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (170300 => 170301)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2014-06-23 17:50:02 UTC (rev 170300)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2014-06-23 18:01:24 UTC (rev 170301)
@@ -420,6 +420,10 @@
     if (m_videoOutputSemaphore)
         dispatch_release(m_videoOutputSemaphore);
 #endif
+
+    if (m_videoLayer)
+        destroyVideoLayer();
+
     cancelLoad();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to