Title: [194947] branches/safari-601-branch/Source/WebCore

Diff

Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (194946 => 194947)


--- branches/safari-601-branch/Source/WebCore/ChangeLog	2016-01-13 01:41:41 UTC (rev 194946)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog	2016-01-13 01:41:44 UTC (rev 194947)
@@ -1,5 +1,26 @@
 2016-01-12  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r194745. rdar://problem/24101258
+
+    2016-01-07  Jer Noble  <jer.no...@apple.com>
+
+            [EME] Secure stop information not written to disk
+            https://bugs.webkit.org/show_bug.cgi?id=152855
+
+            Reviewed by Eric Carlson.
+
+            Two separate bugs for the two APIs provided by AVFoundation. For the AVStreamSession path,
+            we were not calling the lazy-creation function which creates the AVStreamSession, and were
+            rather accessing the ivar directly. For the AVContentKeySession, we were not creating the
+            intermediate paths containing the secure stop database.
+
+            * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
+            (WebCore::CDMSessionAVContentKeySession::contentKeySession):
+            * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+            (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
+
+2016-01-12  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r194910. rdar://problem/24101255
 
     2016-01-11  Matthew Hanson  <matthew_han...@apple.com>

Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm (194946 => 194947)


--- branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm	2016-01-13 01:41:41 UTC (rev 194946)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm	2016-01-13 01:41:44 UTC (rev 194947)
@@ -343,7 +343,19 @@
 AVContentKeySession* CDMSessionAVContentKeySession::contentKeySession()
 {
     if (!m_contentKeySession) {
-        m_contentKeySession = adoptNS([[getAVContentKeySessionClass() alloc] initWithStorageDirectoryAtURL:[NSURL fileURLWithPath:storagePath()]]);
+
+        String storagePath = this->storagePath();
+        if (storagePath.isEmpty())
+            return nil;
+
+        String storageDirectory = directoryName(storagePath);
+
+        if (!fileExists(storageDirectory)) {
+            if (!makeAllDirectories(storageDirectory))
+                return nil;
+        }
+
+        m_contentKeySession = adoptNS([[getAVContentKeySessionClass() alloc] initWithStorageDirectoryAtURL:[NSURL fileURLWithPath:storagePath]]);
         m_contentKeySession.get().delegate = m_contentKeySessionDelegate.get();
     }
 

Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (194946 => 194947)


--- branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2016-01-13 01:41:41 UTC (rev 194946)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2016-01-13 01:41:44 UTC (rev 194947)
@@ -714,7 +714,7 @@
     m_session = toCDMSessionMediaSourceAVFObjC(session);
 
     if (CDMSessionAVStreamSession* cdmStreamSession = toCDMSessionAVStreamSession(m_session))
-        cdmStreamSession->setStreamSession(m_streamSession.get());
+        cdmStreamSession->setStreamSession(streamSession());
     for (auto& sourceBuffer : m_mediaSourcePrivate->sourceBuffers())
         sourceBuffer->setCDMSession(m_session);
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to