-
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
NEW TEST(276140@main): [ MacOS WK1 Debug ] media/media-source/worker/media-managedmse-worker.html is a constant crash #26236
NEW TEST(276140@main): [ MacOS WK1 Debug ] media/media-source/worker/media-managedmse-worker.html is a constant crash #26236
Conversation
EWS run on previous version of this PR (hash 6bd8c37) |
6bd8c37
to
32578ff
Compare
EWS run on previous version of this PR (hash 32578ff) |
32578ff
to
3996e9f
Compare
EWS run on previous version of this PR (hash 3996e9f) |
EWS run on previous version of this PR (hash 2ee6f48) |
3996e9f
to
2ee6f48
Compare
2ee6f48
to
59819db
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I wonder whether overriding mediaSourceInWorkerEnabled setting to false if GPU process is off would be simpler or not.
β¦media-managedmse-worker.html is a constant crash https://bugs.webkit.org/show_bug.cgi?id=271323 rdar://125100787 Reviewed by Youenn Fablet. WebPreferences are always set when running LayoutTests. MediaSource in a Worker is not functional unless the GPU process is active and the MediaPlayers are to run in the GPU process. MediaSource in a Worker can only work with a MediaSourcePrivate that is designed to be thread-safe and at present there's only one kind: MediaSourcePrivateRemote. As it is possible for a WebPreference to be turned on, we need to handle the case where it has been accidentally set on a non-supported platform. To achieve this we add a new MediaStrategy API: `hasThreadSafeSupport()` which will be checked in addition to the `mediaSourceInWorkerEnabled` preference. Updated existing test to ensure that enabling the pref on a non-supported configuration is behaving properly. * LayoutTests/media/media-source/worker/media-managedmse-worker-expected.txt: * LayoutTests/media/media-source/worker/media-managedmse-worker.html: * LayoutTests/media/media-source/worker/worker.js: (onmessage): * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/mac-wk1/media/media-source/worker/media-managedmse-worker-expected.txt: Added. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Modules/mediasource/MediaSource.cpp: (WebCore::MediaSource::enabledForContext): (WebCore::MediaSource::canConstructInDedicatedWorker): * Source/WebCore/platform/MediaStrategy.cpp: (WebCore::MediaStrategy::hasThreadSafeMediaSourceSupport const): * Source/WebCore/platform/MediaStrategy.h: * Source/WebCore/platform/PlatformStrategies.h: (WebCore::PlatformStrategies::mediaStrategy): Allow creation of the MediaStrategy object on any threads, in practice this MediaStrategy creation is only ever done on the main thread, but this could be different in the future. * Source/WebKit/WebProcess/GPU/media/WebMediaStrategy.cpp: (WebKit::WebMediaStrategy::createAudioDestination): (WebKit::WebMediaStrategy::createNowPlayingManager const): (WebKit::WebMediaStrategy::hasThreadSafeMediaSourceSupport const): (WebKit::WebMediaStrategy::enableMockMediaSource): * Source/WebKit/WebProcess/GPU/media/WebMediaStrategy.h: Canonical link: https://commits.webkit.org/276534@main
59819db
to
b7d8be7
Compare
Committed 276534@main (b7d8be7): https://commits.webkit.org/276534@main Reviewed commits have been landed. Closing PR #26236 and removing active labels. |
b7d8be7
59819db