WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
180542
[EME] support update() for FairPlayStreaming in Modern EME API
https://bugs.webkit.org/show_bug.cgi?id=180542
Summary
[EME] support update() for FairPlayStreaming in Modern EME API
Jer Noble
Reported
2017-12-07 13:05:30 PST
[EME] support update() for FairPlayStreaming in Modern EME API
Attachments
Patch
(14.49 KB, patch)
2017-12-07 13:31 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(15.21 KB, patch)
2017-12-07 14:13 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch for landing
(15.23 KB, patch)
2017-12-07 15:21 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Jer Noble
Comment 1
2017-12-07 13:31:28 PST
Created
attachment 328730
[details]
Patch
Radar WebKit Bug Importer
Comment 2
2017-12-07 13:31:29 PST
<
rdar://problem/35917563
>
Eric Carlson
Comment 3
2017-12-07 13:43:43 PST
Comment on
attachment 328730
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=328730&action=review
> Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:968 > + for (auto& sourceBuffer : m_mediaSourcePrivate->sourceBuffers()) > + sourceBuffer->setCDMInstance(&instance); > + > + m_cdmInstance = &instance;
Nit: would it be safer to set m_cdmInstance first in case the source buffer callbacks have side effects?
Jer Noble
Comment 4
2017-12-07 14:13:43 PST
Created
attachment 328739
[details]
Patch for landing
Jer Noble
Comment 5
2017-12-07 15:21:56 PST
Created
attachment 328749
[details]
Patch for landing
WebKit Commit Bot
Comment 6
2017-12-11 17:17:25 PST
Comment on
attachment 328749
[details]
Patch for landing Clearing flags on attachment: 328749 Committed
r225766
: <
https://trac.webkit.org/changeset/225766
>
WebKit Commit Bot
Comment 7
2017-12-11 17:17:26 PST
All reviewed patches have been landed. Closing bug.
Joseph Pecoraro
Comment 8
2017-12-11 22:41:15 PST
This appears to have broken the High Sierra build:
https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20%28Build%29/builds/2072/steps/compile-webkit/logs/errors
> Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:770:71: error: cannot initialize a parameter of type 'id<AVContentKeyRecipient> _Nonnull' with an rvalue of type 'PtrType' (aka 'AVStreamDataParser *')
It looks like the AVFoundationSPI definition of AVStreamDataParser wasn't set up to conform to the AVContentKeyRecipient @protocol. This should be fixed with something like: + #import <AVFoundation/AVContentKeySession.h> ... + #if GUARD + @interface AVStreamDataParser () <AVContentKeyRecipient> + @end + #endif But since AVContentKeyRecipient was only conditionally available: API_AVAILABLE(macos(10.12.4), ios(10.3), tvos(10.2), watchos(3.3)) @protocol AVContentKeyRecipient ... @end There will likely need to be some version GUARD above that makes sense.
Joseph Pecoraro
Comment 9
2017-12-11 22:57:08 PST
> But since AVContentKeyRecipient was only conditionally available: > > API_AVAILABLE(macos(10.12.4), ios(10.3), tvos(10.2), watchos(3.3)) > @protocol AVContentKeyRecipient > ... > @end > > There will likely need to be some version GUARD above that makes sense.
I guess HAVE(AVCONTENTKEYSESSION) might be an appropriate guard: #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) #define HAVE_AVCONTENTKEYSESSION 1 #endif
Joseph Pecoraro
Comment 10
2017-12-11 23:21:46 PST
I attempted a build fix: <
https://trac.webkit.org/r225777
> Lets see what the bots do!
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug