Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b8180b2e2e3d8fe4d03e502a7494117794c9467e
https://github.com/WebKit/WebKit/commit/b8180b2e2e3d8fe4d03e502a7494117794c9467e
Author: Jer Noble <[email protected]>
Date: 2023-12-12 (Tue, 12 Dec 2023)
Changed paths:
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
Log Message:
-----------
[Cocoa] sampleBufferContentKeySessionSupportEnabled: Not enqueueing frames
during "pending" key state means key state never progresses beyond "pending"
https://bugs.webkit.org/show_bug.cgi?id=266284
rdar://119557042
Reviewed by Eric Carlson.
When the state of the AVContentKeyRequest/AVContentKey is "pending", the
AVContentKeySession
is waiting to be connected with an AVSampleBufferDisplayLayer before updating
that state to
"usable" or "restricted". The API contract when the
sampleBufferContentKeySessionSupportEnabled
path is enabled is that the client will not enqueue samples for display unless
it knows there
is a usable key for that sample. However, due to this behavior, the request/key
is stuck in
the "pending" state.
Work around this behavior by still enqueueing samples when in the "pending"
state, and in fact,
only block enqueueing samples when the key is in a known-failed state.
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::isAnyKeyUsable const):
Canonical link: https://commits.webkit.org/271944@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes