Changeset 225642 in webkit
- Timestamp:
- Dec 7, 2017 1:04:21 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r225641 r225642 1 2017-12-07 Jer Noble <jer.noble@apple.com> 2 3 [EME] Support the 'encrypted' event for FPS encrypted streams 4 https://bugs.webkit.org/show_bug.cgi?id=180480 5 6 Reviewed by Eric Carlson. 7 8 * platform/mac/TestExpectations: 9 * platform/mac/media/encrypted-media/content/fps-cbcs.mp4: Added. 10 * platform/mac/media/encrypted-media/fps-encrypted-event-expected.txt: Added. 11 * platform/mac/media/encrypted-media/fps-encrypted-event.html: Added. 12 1 13 2017-12-07 Myles C. Maxfield <mmaxfield@apple.com> 2 14 -
trunk/LayoutTests/platform/mac/TestExpectations
r225641 r225642 1748 1748 [ ElCapitan Sierra ] platform/mac/media/encrypted-media/fps-createSession.html [ Skip ] 1749 1749 [ ElCapitan Sierra ] platform/mac/media/encrypted-media/fps-generateRequest.html [ Skip ] 1750 [ ElCapitan Sierra ] platform/mac/media/encrypted-media/fps-encrypted-event.html [ Skip ] 1750 1751 1751 1752 # rdar://problem/35395437 -
trunk/Source/WebCore/ChangeLog
r225641 r225642 1 2017-12-07 Jer Noble <jer.noble@apple.com> 2 3 [EME] Support the 'encrypted' event for FPS encrypted streams 4 https://bugs.webkit.org/show_bug.cgi?id=180480 5 6 Reviewed by Eric Carlson. 7 8 Test: platform/mac/media/encrypted-media/fps-encrypted-event.html 9 10 Pass initData and initDataType up to HTMLMediaElement from SourceBufferPrivateAVFObjC. 11 12 Drive-by fix: initialize the initData and initDataType values of MediaEncryptedEvent from 13 values in its initializer struct. 14 15 * html/HTMLMediaElement.cpp: 16 (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): 17 (WebCore::HTMLMediaElement::mediaPlayerInitializationDataEncountered): 18 * html/MediaEncryptedEvent.cpp: 19 (WebCore::MediaEncryptedEvent::MediaEncryptedEvent): 20 (WebCore::MediaEncryptedEvent::initDataType): Deleted. 21 (WebCore::MediaEncryptedEvent::initData): Deleted. 22 * html/MediaEncryptedEvent.h: 23 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: 24 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: 25 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached): 26 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: 27 (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): 28 1 29 2017-12-07 Myles C. Maxfield <mmaxfield@apple.com> 2 30 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r225477 r225642 2585 2585 return false; 2586 2586 2587 if (!hasEventListeners("webkitneedkey")) { 2587 if (!hasEventListeners("webkitneedkey") 2588 #if ENABLE(ENCRYPTED_MEDIA) 2589 // Only fire an error if ENCRYPTED_MEDIA is not enabled, to give clients of the 2590 // "encrypted" event a chance to handle it without resulting in a synthetic error. 2591 && !RuntimeEnabledFeatures::sharedFeatures().encryptedMediaAPIEnabled() 2592 #endif 2593 ) { 2588 2594 m_error = MediaError::create(MediaError::MEDIA_ERR_ENCRYPTED); 2589 2595 scheduleEvent(eventNames().errorEvent); … … 2719 2725 void HTMLMediaElement::mediaPlayerInitializationDataEncountered(const String& initDataType, RefPtr<ArrayBuffer>&& initData) 2720 2726 { 2727 if (!RuntimeEnabledFeatures::sharedFeatures().encryptedMediaAPIEnabled()) 2728 return; 2729 2721 2730 // https://w3c.github.io/encrypted-media/#initdata-encountered 2722 2731 // W3C Editor's Draft 23 June 2017 -
trunk/Source/WebCore/html/MediaEncryptedEvent.cpp
r208539 r225642 38 38 MediaEncryptedEvent::MediaEncryptedEvent(const AtomicString& type, const MediaEncryptedEventInit& initializer, IsTrusted isTrusted) 39 39 : Event(type, initializer, isTrusted) 40 , m_initDataType(initializer.initDataType) 41 , m_initData(initializer.initData) 40 42 { 41 43 } … … 48 50 } 49 51 50 String MediaEncryptedEvent::initDataType()51 {52 notImplemented();53 return emptyString();54 }55 56 ArrayBuffer* MediaEncryptedEvent::initData()57 {58 notImplemented();59 return nullptr;60 }61 62 52 } // namespace WebCore 63 53 -
trunk/Source/WebCore/html/MediaEncryptedEvent.h
r208539 r225642 51 51 virtual ~MediaEncryptedEvent(); 52 52 53 String initDataType() ;54 JSC::ArrayBuffer* initData() ;53 String initDataType() { return m_initDataType; } 54 JSC::ArrayBuffer* initData() { return m_initData.get(); } 55 55 56 56 private: … … 59 59 // Event 60 60 EventInterface eventInterface() const override; 61 62 String m_initDataType; 63 RefPtr<JSC::ArrayBuffer> m_initData; 61 64 }; 62 65 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
r222946 r225642 126 126 CDMSessionMediaSourceAVFObjC* cdmSession() const { return m_session; } 127 127 void keyNeeded(Uint8Array*); 128 #endif 129 #if ENABLE(ENCRYPTED_MEDIA) 130 void initializationDataEncountered(const String&, RefPtr<ArrayBuffer>&&); 128 131 #endif 129 132 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
r224574 r225642 958 958 #endif 959 959 960 #if ENABLE(ENCRYPTED_MEDIA) 961 void MediaPlayerPrivateMediaSourceAVFObjC::initializationDataEncountered(const String& initDataType, RefPtr<ArrayBuffer>&& initData) 962 { 963 m_player->initializationDataEncountered(initDataType, WTFMove(initData)); 964 } 965 #endif 966 960 967 const Vector<ContentType>& MediaPlayerPrivateMediaSourceAVFObjC::mediaContentTypesRequiringHardwareSupport() const 961 968 { -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
r225635 r225642 41 41 #import "MediaSourcePrivateAVFObjC.h" 42 42 #import "NotImplemented.h" 43 #import "SharedBuffer.h" 43 44 #import "SourceBufferPrivateClient.h" 44 45 #import "TimeRanges.h" … … 673 674 m_hasSessionSemaphore = hasSessionSemaphore; 674 675 } 675 #else 676 #endif 677 678 #if ENABLE(ENCRYPTED_MEDIA) 679 if (m_mediaSource) { 680 auto initDataBuffer = SharedBuffer::create(initData); 681 m_mediaSource->player()->initializationDataEncountered("sinf", initDataBuffer->tryCreateArrayBuffer()); 682 } 683 #endif 684 685 #if !ENABLE(ENCRYPTED_MEDIA) && !ENABLE(LEGACY_ENCRYPTED_MEDIA) 676 686 UNUSED_PARAM(initData); 677 687 UNUSED_PARAM(trackID);
Note: See TracChangeset
for help on using the changeset viewer.