-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
In PWA, HTML Video Element may be unable to play stream from 'getUserMedia()' #15370
In PWA, HTML Video Element may be unable to play stream from 'getUserMedia()' #15370
Conversation
EWS run on previous version of this PR (hash 77febf2)
|
Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp
Outdated
Show resolved
Hide resolved
Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp
Outdated
Show resolved
Hide resolved
77febf2
to
2628bfa
Compare
EWS run on previous version of this PR (hash 2628bfa)
|
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.
r=me
2628bfa
to
30c22a9
Compare
EWS run on current version of this PR (hash 30c22a9)
|
…Media()' https://bugs.webkit.org/show_bug.cgi?id=252465 rdar://111500785 Reviewed by Eric Carlson. In case the same GPU process is used by several SafariViewServices, mediaserverd may think that a capturing session is in the background while it is in foreground. Ideally mediaserverd would compute this from an audit token or something similar we would pass them. Currently, it is based on pid forwarding. As a temporary workaround, we are now storing which pid is to be used for a given WebProcess in RemoteMediaSessionHelperProxy. When starting to produce data for camera, we are then ensuring that this pid is correctly set whenever starting to produce data. We allow overriding of pid in MediaSessionHelperiOS, by adding a new ShouldOverride boolean. Only AVVideoCaptureSource is using ShouldOverride::Yes, which should limit potential fallouts to camera capture cases. * Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h: * Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm: (MediaSessionHelperiOS::providePresentingApplicationPID): * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::overridePresentingApplicationPIDIfNeeded): * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h: * Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp: (WebKit::RemoteMediaSessionHelperProxy::providePresentingApplicationPID): (WebKit::RemoteMediaSessionHelperProxy::overridePresentingApplicationPIDIfNeeded): * Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h: * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::startProducingData): * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: (WebKit::UserMediaCaptureManagerProxy::ConnectionProxy::startProducingData): * Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp: (WebKit::RemoteMediaSessionHelper::providePresentingApplicationPID): * Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h: Canonical link: https://commits.webkit.org/265986@main
30c22a9
to
bbf6021
Compare
Committed 265986@main (bbf6021): https://commits.webkit.org/265986@main Reviewed commits have been landed. Closing PR #15370 and removing active labels. |
bbf6021
30c22a9