Bug 190946

Summary: [EME][Cocoa] Cannot play unmuxed video and audio fMP4 streams encrypted with different keys via MSE
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: New BugsAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal CC: eric.carlson, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch eric.carlson: review+

Jer Noble
Reported 2018-10-26 00:22:36 PDT
-[EME][Cocoa] Cannot play unmuxed video and audio fMP4 streams encrypted with different keys via MSE
Attachments
Patch (52.21 KB, patch)
2018-10-26 00:33 PDT, Jer Noble
no flags
Patch (52.22 KB, patch)
2018-10-29 10:21 PDT, Jer Noble
eric.carlson: review+
Jer Noble
Comment 1 2018-10-26 00:24:00 PDT
Jer Noble
Comment 2 2018-10-26 00:33:52 PDT
Jer Noble
Comment 3 2018-10-29 10:21:48 PDT
Eric Carlson
Comment 4 2018-10-29 17:16:28 PDT
Comment on attachment 353297 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=353297&action=review > Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:108 > + AVContentKeySession* contentKeySession() { return m_session.get(); } Can m_session ever be null? If so, should you return ensureSession() instead?
Jer Noble
Comment 5 2018-10-30 11:34:20 PDT
Comment on attachment 353297 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=353297&action=review >> Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:108 >> + AVContentKeySession* contentKeySession() { return m_session.get(); } > > Can m_session ever be null? If so, should you return ensureSession() instead? The m_session is set at creation time (in requestLicense(), which is called immediately after the object is created). It can only be null if there was an error when creating the AVContentKeySession. This is an objc object, so returning nil is fine, and we probably don't want to call ensureSession() all the time if the initial ensure() failed.
Jer Noble
Comment 6 2018-10-31 13:23:53 PDT
Note You need to log in before you can comment on or make changes to this bug.