[EME][Mac] Propagate errors from AVSampleBufferDisplayLayer through to MSE
Created attachment 232885 [details] Patch
Comment on attachment 232885 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=232885&action=review > Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:68 > +{ > + m_parent->unregisterForErrorNotifications(this); > } Is it worth NULLing m_client here?
(In reply to comment #2) > (From update of attachment 232885 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=232885&action=review > > > Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:68 > > +{ > > + m_parent->unregisterForErrorNotifications(this); > > } > > Is it worth NULLing m_client here? Probably not, since the object itself is about to get destroyed.
Committed r169830: <http://trac.webkit.org/changeset/169830>
Comment on attachment 232885 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=232885&action=review > Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:48 > +class MediaKeySession final : public RefCounted<MediaKeySession>, public EventTargetWithInlineData, public ActiveDOMObject, public CDMSessionClient { Why public instead of private inheritance? > Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:90 > + virtual void sendMessage(Uint8Array*, String destinationURL); > + virtual void sendError(MediaKeyErrorCode, unsigned long systemCode); Why protected instead of private? Why not marked override? > Source/WebCore/platform/graphics/SourceBufferPrivateClient.h:87 > + virtual void sourceBufferPrivateDidReceiveRenderingError(SourceBufferPrivate*, int errocCode) = 0; Typo here: "errocCode". > Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:38 > +class CDMSessionMediaSourceAVFObjC : public CDMSession, public SourceBufferPrivateAVFObjCErrorClient { Why public instead of private inheritance? > Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:828 > + int errorCode = [[[error userInfo] valueForKey:@"OSStatus"] intValue]; Seems like this should be inside the "if (m_client)".