Title: [195609] trunk/Source/WebCore
Revision
195609
Author
[email protected]
Date
2016-01-26 12:45:58 -0800 (Tue, 26 Jan 2016)

Log Message

[EME][Mac] Crash in [AVStreamSession addStreamDataParser:]; uncaught exception
https://bugs.webkit.org/show_bug.cgi?id=153495

Reviewed by Eric Carlson.

When AVContentKeySession is not available, fall back to pre-AVContentKeySession behavior;
namely, immediately create an AVStreamSession object in
willProvideContentKeyRequestInitializationData, rather than waiting for didProvide.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (195608 => 195609)


--- trunk/Source/WebCore/ChangeLog	2016-01-26 20:30:48 UTC (rev 195608)
+++ trunk/Source/WebCore/ChangeLog	2016-01-26 20:45:58 UTC (rev 195609)
@@ -1,3 +1,17 @@
+2016-01-26  Jeremy Noble  <[email protected]>
+
+        [EME][Mac] Crash in [AVStreamSession addStreamDataParser:]; uncaught exception
+        https://bugs.webkit.org/show_bug.cgi?id=153495
+
+        Reviewed by Eric Carlson.
+
+        When AVContentKeySession is not available, fall back to pre-AVContentKeySession behavior;
+        namely, immediately create an AVStreamSession object in
+        willProvideContentKeyRequestInitializationData, rather than waiting for didProvide.
+
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+        (WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID):
+
 2016-01-26  Dean Jackson  <[email protected]>
 
         [iOS] Documents without an explicit width should not get fast tapping

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (195608 => 195609)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2016-01-26 20:30:48 UTC (rev 195608)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2016-01-26 20:45:58 UTC (rev 195609)
@@ -29,6 +29,7 @@
 #if ENABLE(MEDIA_SOURCE) && USE(AVFOUNDATION)
 
 #import "BlockExceptions.h"
+#import "CDMSessionAVContentKeySession.h"
 #import "CDMSessionMediaSourceAVFObjC.h"
 #import "ExceptionCodePlaceholder.h"
 #import "Logging.h"
@@ -721,6 +722,11 @@
 
     if (CDMSessionMediaSourceAVFObjC* session = m_mediaSource->player()->cdmSession())
         session->addParser(m_parser.get());
+    else if (!CDMSessionAVContentKeySession::isAvailable()) {
+        BEGIN_BLOCK_OBJC_EXCEPTIONS;
+        [m_mediaSource->player()->streamSession() addStreamDataParser:m_parser.get()];
+        END_BLOCK_OBJC_EXCEPTIONS;
+    }
 #else
     UNUSED_PARAM(trackID);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to