Title: [173216] trunk/Source/WebCore
Revision
173216
Author
bfulg...@apple.com
Date
2014-09-03 12:22:12 -0700 (Wed, 03 Sep 2014)

Log Message

[Win] Prevent double-release on AVCFURLAssetRef
https://bugs.webkit.org/show_bug.cgi?id=136492
<rdar://problem/18206746>

Reviewed by Eric Carlson.

The AVFWrapper::setAsset method needs to retain the passed argument, since it
originates from AVCFPlayerItemGetAsset, which does not increment the
reference count of its return value as expected by Cocoa Get/Create/Copy
semantics.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::setAsset): Retain the passed argument.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (173215 => 173216)


--- trunk/Source/WebCore/ChangeLog	2014-09-03 19:17:49 UTC (rev 173215)
+++ trunk/Source/WebCore/ChangeLog	2014-09-03 19:22:12 UTC (rev 173216)
@@ -1,3 +1,19 @@
+2014-09-03  Brent Fulgham  <bfulg...@apple.com>
+
+        [Win] Prevent double-release on AVCFURLAssetRef
+        https://bugs.webkit.org/show_bug.cgi?id=136492
+        <rdar://problem/18206746>
+
+        Reviewed by Eric Carlson.
+
+        The AVFWrapper::setAsset method needs to retain the passed argument, since it
+        originates from AVCFPlayerItemGetAsset, which does not increment the
+        reference count of its return value as expected by Cocoa Get/Create/Copy
+        semantics.
+
+        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+        (WebCore::AVFWrapper::setAsset): Retain the passed argument.
+
 2014-09-03  Dan Bernstein  <m...@apple.com>
 
         Get rid of HIGH_DPI_CANVAS leftovers

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp (173215 => 173216)


--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp	2014-09-03 19:17:49 UTC (rev 173215)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp	2014-09-03 19:22:12 UTC (rev 173216)
@@ -1854,7 +1854,7 @@
         return;
 
     AVCFAssetCancelLoading(avAsset());
-    m_avAsset = adoptCF(asset);
+    m_avAsset = asset;
 }
 
 PlatformLayer* AVFWrapper::platformLayer()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to