RESOLVED FIXED 133747
[EME][Mac] Propagate errors from AVSampleBufferDisplayLayer through to MSE
https://bugs.webkit.org/show_bug.cgi?id=133747
Summary [EME][Mac] Propagate errors from AVSampleBufferDisplayLayer through to MSE
Jer Noble
Reported 2014-06-11 10:35:57 PDT
[EME][Mac] Propagate errors from AVSampleBufferDisplayLayer through to MSE
Attachments
Patch (25.51 KB, patch)
2014-06-11 12:19 PDT, Jer Noble
eric.carlson: review+
Jer Noble
Comment 1 2014-06-11 12:19:30 PDT
Eric Carlson
Comment 2 2014-06-11 12:38:05 PDT
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?
Jer Noble
Comment 3 2014-06-11 13:52:09 PDT
(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.
Jer Noble
Comment 4 2014-06-11 14:02:55 PDT
Darin Adler
Comment 5 2014-06-16 10:24:41 PDT
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)".
Note You need to log in before you can comment on or make changes to this bug.