Title: [237226] trunk/Source/ThirdParty/libwebrtc
Revision
237226
Author
you...@apple.com
Date
2018-10-17 10:54:00 -0700 (Wed, 17 Oct 2018)

Log Message

REGRESSION (r237075): webrtc/video-replace-muted-track.html is Crashing
https://bugs.webkit.org/show_bug.cgi?id=190646

Reviewed by Eric Carlson.

Do not use VCP pixel buffer pool at all.
RealtimeOutgoingVideoSource makes sure to send the frame in the right format.
Tested by ensuring test no longer crashes.

* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
(-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (237225 => 237226)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2018-10-17 17:52:15 UTC (rev 237225)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2018-10-17 17:54:00 UTC (rev 237226)
@@ -1,3 +1,18 @@
+2018-10-17  Youenn Fablet  <you...@apple.com>
+
+        REGRESSION (r237075): webrtc/video-replace-muted-track.html is Crashing
+        https://bugs.webkit.org/show_bug.cgi?id=190646
+
+        Reviewed by Eric Carlson.
+
+        Do not use VCP pixel buffer pool at all.
+        RealtimeOutgoingVideoSource makes sure to send the frame in the right format.
+        Tested by ensuring test no longer crashes.
+
+        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
+        (-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
+        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
+
 2018-10-16  Youenn Fablet  <you...@apple.com>
 
         Support RTCConfiguration.certificates

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm (237225 => 237226)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2018-10-17 17:52:15 UTC (rev 237225)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm	2018-10-17 17:54:00 UTC (rev 237226)
@@ -541,6 +541,11 @@
   OSType framePixelFormat = [self pixelFormatOfFrame:frame];
 
   if (_compressionSession) {
+#if defined(WEBRTC_WEBKIT_BUILD)
+    if (!_pixelBufferPool) {
+      return NO;
+    }
+#endif
     // The pool attribute `kCVPixelBufferPixelFormatTypeKey` can contain either an array of pixel
     // formats or a single pixel format.
     NSDictionary *poolAttributes =
@@ -734,10 +739,11 @@
 #endif
   [self configureCompressionSession];
 
+#if !defined(WEBRTC_WEBKIT_BUILD)
   // The pixel buffer pool is dependent on the compression session so if the session is reset, the
   // pool should be reset as well.
   _pixelBufferPool = CompressionSessionGetPixelBufferPool(_compressionSession);
-
+#endif
   return WEBRTC_VIDEO_CODEC_OK;
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to