Changeset 243287 in webkit
- Timestamp:
- Mar 21, 2019, 5:14:04 AM (7 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
platform/encryptedmedia/clearkey/CDMClearKey.cpp (modified) (1 diff)
-
platform/encryptedmedia/clearkey/CDMClearKey.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r243285 r243287 1 2019-03-21 Charlie Turner <cturner@igalia.com> 2 3 [GStreamer][EME][Clearkey] Take a lock in keys() method 4 https://bugs.webkit.org/show_bug.cgi?id=195900 5 6 Reviewed by Xabier Rodriguez-Calvar. 7 8 This isn't ideal, since we're taking a lock for every frame to 9 decode. But there's no good way around it when keys can be 10 made unavailable at any time via an update() call, so we can't 11 cache key IDs in the decryptor. 12 13 Covered by test imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey.https.html 14 15 * platform/encryptedmedia/clearkey/CDMClearKey.cpp: 16 (WebCore::CDMInstanceClearKey::keys const): This method is called 17 from GStreamer's decode() method, which runs off the main thread, 18 therefore we need to take a lock. 19 * platform/encryptedmedia/clearkey/CDMClearKey.h: 20 1 21 2019-03-21 Carlos Garcia Campos <cgarcia@igalia.com> 2 22 -
trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp
r243163 r243287 508 508 // Return the keys of all sessions. 509 509 Vector<CDMInstanceClearKey::Key> allKeys { }; 510 auto locker = holdLock(m_keysMutex); 510 511 size_t initialCapacity = 0; 511 512 for (auto& key : ClearKeyState::singleton().keys().values()) -
trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h
r239427 r243287 98 98 99 99 const Vector<Key> keys() const; 100 101 private: 102 mutable Lock m_keysMutex; 100 103 }; 101 104
Note:
See TracChangeset
for help on using the changeset viewer.