-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Cocoa] EME with encrypted MPEG2-TS fails to begin playback #24043
[Cocoa] EME with encrypted MPEG2-TS fails to begin playback #24043
Conversation
41fe7c0
to
96a4526
Compare
EWS run on previous version of this PR (hash 41fe7c0)
|
EWS run on previous version of this PR (hash 96a4526)
|
Looks like failing tests will require bot upgrades to newer platform OSs. Will skip for now. |
96a4526
to
5e4aeec
Compare
5e4aeec
to
5b4892a
Compare
EWS run on previous version of this PR (hash 5b4892a)
|
5b4892a
to
80182a7
Compare
EWS run on previous version of this PR (hash 80182a7)
|
80182a7
to
f71af30
Compare
EWS run on current version of this PR (hash f71af30)
|
https://bugs.webkit.org/show_bug.cgi?id=268948 rdar://122030589 Reviewed by Andy Estes. When encrypted samples are parsed from containers by AVStreamDataParser, those samples have their associated initialization data attached to their CMFormatDescription as extensions. WebKit then reads those initialization data from the format description to determine the keyID needed to decrypt that key. For MPEG2-TS files, the initialization data is stored in a different key/value pair. Explicitly support this initData type as 'mpts'. * LayoutTests/http/tests/media/fairplay/content/elementary-stream-video-keyid-1.ts: Added. * LayoutTests/http/tests/media/fairplay/fps-mse-unmuxed-mpts.html: Added. * Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp: (WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf): (WebCore::CDMPrivateFairPlayStreaming::mptsName): (WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsMpts): (WebCore::CDMPrivateFairPlayStreaming::sanitizeMpts): (WebCore::CDMPrivateFairPlayStreaming::mptsKeyIDs): (WebCore::validInitDataTypes): (WebCore::CDMFactory::platformRegisterFactories): (WebCore::CDMPrivateFairPlayStreaming::supportsInitData const): * Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.h: * Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::keyIDsForRequest): (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense): * Source/WebCore/platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm: (WebCore::MediaSampleAVFObjC::commonInit): * Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Canonical link: https://commits.webkit.org/274351@main
f71af30
to
12dd6bd
Compare
Committed 274351@main (12dd6bd): https://commits.webkit.org/274351@main Reviewed commits have been landed. Closing PR #24043 and removing active labels. |
12dd6bd
f71af30
π ios-simπ π§ͺ jscπ tv-simπ watch