[webkit-changes] [WebKit/WebKit] a65d75: [GStreamer][EME] Break key waiting on PAUSED->READ...

Xabier Rodríguez noreply at github.com
Fri Jun 16 00:13:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a65d75e0fad55dedd44857659f21bd7ee81b4e1e
      https://github.com/WebKit/WebKit/commit/a65d75e0fad55dedd44857659f21bd7ee81b4e1e
  Author: Xabier Rodriguez-Calvar <calvaris at igalia.com>
  Date:   2023-06-16 (Fri, 16 Jun 2023)

  Changed paths:
    A LayoutTests/media/encrypted-media/clearKey/clearKey-cenc-stop-playback-before-key-expected.txt
    A LayoutTests/media/encrypted-media/clearKey/clearKey-cenc-stop-playback-before-key.html
    M LayoutTests/media/encrypted-media/clearKey/encrypted-media-clearKey-handler.js
    M LayoutTests/platform/mac/TestExpectations
    M Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp
    M Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h

  Log Message:
  -----------
  [GStreamer][EME] Break key waiting on PAUSED->READY state change
https://bugs.webkit.org/show_bug.cgi?id=258070

Reviewed by Philippe Normand.

Changing a state can't be completed when decryptor is waiting for a key.
This can block main thread for max 7sec.

1) Signal key waiting condition to return when decryptor is closing.
2) Return waiting for CDMProxy for the same case.

Original patch by: Andrzej Surdej <Andrzej_Surdej at comcast.com>.

* LayoutTests/media/encrypted-media/clearKey/clearKey-cenc-stop-playback-before-key-expected.txt: Added.
* LayoutTests/media/encrypted-media/clearKey/clearKey-cenc-stop-playback-before-key.html: Added.
* LayoutTests/media/encrypted-media/clearKey/encrypted-media-clearKey-handler.js:
* LayoutTests/platform/mac/TestExpectations:
* Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(CDMProxyDecryptionClientImplementation::isAborting):
(transformInPlace):
(webKitMediaCommonEncryptionDecryptIsAborting):
(changeState):
(webKitMediaCommonEncryptionDecryptIsFlushing): Deleted.
* Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:

Canonical link: https://commits.webkit.org/265231@main




More information about the webkit-changes mailing list