Title: [167639] trunk/Source/WebCore
- Revision
- 167639
- Author
- [email protected]
- Date
- 2014-04-21 17:57:39 -0700 (Mon, 21 Apr 2014)
Log Message
[MSE][Mac] AVSampleBufferDisplayLayer and AudioRenderer is overretained.
https://bugs.webkit.org/show_bug.cgi?id=131963
Reviewed by Jon Honeycutt.
Adopt the results of -[[class alloc] init] rather than retaining them.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::hasVideo):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (167638 => 167639)
--- trunk/Source/WebCore/ChangeLog 2014-04-22 00:23:04 UTC (rev 167638)
+++ trunk/Source/WebCore/ChangeLog 2014-04-22 00:57:39 UTC (rev 167639)
@@ -1,3 +1,16 @@
+2014-04-21 Jer Noble <[email protected]>
+
+ [MSE][Mac] AVSampleBufferDisplayLayer and AudioRenderer is overretained.
+ https://bugs.webkit.org/show_bug.cgi?id=131963
+
+ Reviewed by Jon Honeycutt.
+
+ Adopt the results of -[[class alloc] init] rather than retaining them.
+
+ * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+ (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
+ (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
+
2014-04-21 Zalan Bujtas <[email protected]>
REGRESSION (r166784): Gradient at background of iCloud login page doesn’t go all the way to the bottom
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (167638 => 167639)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-04-22 00:23:04 UTC (rev 167638)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-04-22 00:57:39 UTC (rev 167639)
@@ -543,7 +543,7 @@
m_enabledVideoTrackID = trackID;
[m_parser setShouldProvideMediaData:YES forTrackID:trackID];
if (!m_displayLayer) {
- m_displayLayer = [[getAVSampleBufferDisplayLayerClass() alloc] init];
+ m_displayLayer = adoptNS([[getAVSampleBufferDisplayLayerClass() alloc] init]);
[m_displayLayer requestMediaDataWhenReadyOnQueue:dispatch_get_main_queue() usingBlock:^{
didBecomeReadyForMoreSamples(trackID);
}];
@@ -564,9 +564,9 @@
m_mediaSource->player()->removeAudioRenderer(renderer);
} else {
[m_parser setShouldProvideMediaData:YES forTrackID:trackID];
- AVSampleBufferAudioRenderer* renderer;
+ RetainPtr<AVSampleBufferAudioRenderer> renderer;
if (!m_audioRenderers.count(trackID)) {
- renderer = [[getAVSampleBufferAudioRendererClass() alloc] init];
+ renderer = adoptNS([[getAVSampleBufferAudioRendererClass() alloc] init]);
[renderer requestMediaDataWhenReadyOnQueue:dispatch_get_main_queue() usingBlock:^{
didBecomeReadyForMoreSamples(trackID);
}];
@@ -575,7 +575,7 @@
renderer = m_audioRenderers[trackID].get();
if (m_mediaSource)
- m_mediaSource->player()->addAudioRenderer(renderer);
+ m_mediaSource->player()->addAudioRenderer(renderer.get());
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes