WebKit Bugzilla
Attachment 360802 Details for
Bug 194123
: NSInvalidArgumentException in [WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194123-20190131163621.patch (text/plain), 2.50 KB, created by
Jer Noble
on 2019-01-31 16:36:21 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jer Noble
Created:
2019-01-31 16:36:21 PST
Size:
2.50 KB
patch
obsolete
>Subversion Revision: 240737 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index f492f8c6eeb38cac9d55231bd8831b0b5de63439..cdf6e6c0faf1a044d596d87a2997e041b914bf0c 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-01-31 Jer Noble <jer.noble@apple.com> >+ >+ NSInvalidArgumentException in [WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:] >+ https://bugs.webkit.org/show_bug.cgi?id=194123 >+ <rdar://problem/47721094> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ According to crash logs, AVSampleBufferDisplayLayer.error can go from an NSError* to nil; when such a change is KVO'd, >+ the NSKeyValueChangeNewKey is a NSNull. Detect this state and bail out early. >+ >+ * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: >+ (-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]): >+ > 2019-01-30 Jer Noble <jer.noble@apple.com> > > Ensure ENABLE_MEDIA_SOURCE is defined inside DerivedSources.make >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm b/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm >index e400f5071b011cc9f95313e5081d39562506ca78..11afe9f0eefb64c5e072580436fe53204889dfb7 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm >@@ -356,6 +356,9 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N > > if ([keyPath isEqualToString:@"error"]) { > RetainPtr<NSError> error = [change valueForKey:NSKeyValueChangeNewKey]; >+ if ([error isKindOfClass:[NSNull class]]) >+ return; >+ > callOnMainThread([parent = _parent, layer = WTFMove(layer), error = WTFMove(error)] { > if (parent) > parent->layerDidReceiveError(layer.get(), error.get()); >@@ -373,6 +376,8 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N > RetainPtr<AVSampleBufferAudioRenderer> renderer = (AVSampleBufferAudioRenderer *)object; > ALLOW_NEW_API_WITHOUT_GUARDS_END > RetainPtr<NSError> error = [change valueForKey:NSKeyValueChangeNewKey]; >+ if ([error isKindOfClass:[NSNull class]]) >+ return; > > ASSERT(_renderers.contains(renderer.get())); > ASSERT([keyPath isEqualToString:@"error"]);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194123
: 360802