Title: [247113] trunk/Source/WebCore
Revision
247113
Author
jer.no...@apple.com
Date
2019-07-03 15:16:47 -0700 (Wed, 03 Jul 2019)

Log Message

Exception thrown from -[AVSampleBufferRenderSynchronizer addRenderer:], not a valid renderer.
https://bugs.webkit.org/show_bug.cgi?id=199419
<rdar://problem/52141139>

Reviewed by Eric Carlson.

Sometimes, -[AVSampleBufferDisplayLayer init] will return nil. When that happens, passing a nil
pointer to -addRenderer: will throw an exception.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (247112 => 247113)


--- trunk/Source/WebCore/ChangeLog	2019-07-03 22:16:06 UTC (rev 247112)
+++ trunk/Source/WebCore/ChangeLog	2019-07-03 22:16:47 UTC (rev 247113)
@@ -1,3 +1,17 @@
+2019-07-03  Jer Noble  <jer.no...@apple.com>
+
+        Exception thrown from -[AVSampleBufferRenderSynchronizer addRenderer:], not a valid renderer.
+        https://bugs.webkit.org/show_bug.cgi?id=199419
+        <rdar://problem/52141139>
+
+        Reviewed by Eric Carlson.
+
+        Sometimes, -[AVSampleBufferDisplayLayer init] will return nil. When that happens, passing a nil
+        pointer to -addRenderer: will throw an exception.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
+
 2019-07-03  Robin Morisset  <rmoris...@apple.com>
 
         [WHLSL] "Semantic" should be held by a unique_ptr, not an Optional

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


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2019-07-03 22:16:06 UTC (rev 247112)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2019-07-03 22:16:47 UTC (rev 247113)
@@ -722,6 +722,13 @@
     [m_sampleBufferDisplayLayer setName:@"MediaPlayerPrivateMediaSource AVSampleBufferDisplayLayer"];
 #endif
 
+    ASSERT(m_sampleBufferDisplayLayer);
+    if (!m_sampleBufferDisplayLayer) {
+        ERROR_LOG(LOGIDENTIFIER, "Failed to create AVSampleBufferDisplayLayer");
+        setNetworkState(MediaPlayer::DecodeError);
+        return;
+    }
+
     [m_synchronizer addRenderer:m_sampleBufferDisplayLayer.get()];
     if (m_mediaSourcePrivate)
         m_mediaSourcePrivate->setVideoLayer(m_sampleBufferDisplayLayer.get());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to