Title: [290526] trunk/Source/WebCore
- Revision
- 290526
- Author
- [email protected]
- Date
- 2022-02-25 14:18:16 -0800 (Fri, 25 Feb 2022)
Log Message
[Cocoa] HLS + Modern EME key rotation causes playback to stall indefinitely
https://bugs.webkit.org/show_bug.cgi?id=237214
<rdar://89372801>
Reviewed by Eric Carlson.
In r275916, Ref was changed to perform pointer equality in its operator==. This caused
takeUnexpectedKeyRequestForInitializationData() to fail to find key requests matching
the initData passed in through MediaKeySession.
Fix the equality test by calling .get() on the Ref, which causes the `==` to resolve to
FragmentedSharedBuffer::operator==().
* platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (290525 => 290526)
--- trunk/Source/WebCore/ChangeLog 2022-02-25 21:01:41 UTC (rev 290525)
+++ trunk/Source/WebCore/ChangeLog 2022-02-25 22:18:16 UTC (rev 290526)
@@ -1,3 +1,21 @@
+2022-02-25 Jer Noble <[email protected]>
+
+ [Cocoa] HLS + Modern EME key rotation causes playback to stall indefinitely
+ https://bugs.webkit.org/show_bug.cgi?id=237214
+ <rdar://89372801>
+
+ Reviewed by Eric Carlson.
+
+ In r275916, Ref was changed to perform pointer equality in its operator==. This caused
+ takeUnexpectedKeyRequestForInitializationData() to fail to find key requests matching
+ the initData passed in through MediaKeySession.
+
+ Fix the equality test by calling .get() on the Ref, which causes the `==` to resolve to
+ FragmentedSharedBuffer::operator==().
+
+ * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
+ (WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData):
+
2022-02-25 Alex Christensen <[email protected]>
Re-add YouTubePluginReplacement, removed in r285252
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm (290525 => 290526)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm 2022-02-25 21:01:41 UTC (rev 290525)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm 2022-02-25 22:18:16 UTC (rev 290526)
@@ -275,7 +275,7 @@
auto& request = *requestIter;
auto requestType = initTypeForRequest(request.get());
auto requestInitData = initializationDataForRequest(request.get());
- if (initDataType != requestType || initData != requestInitData)
+ if (initDataType != requestType || initData != requestInitData.get())
continue;
return m_unexpectedKeyRequests.take(requestIter);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes