Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5164f69952f49fd6981669ab325ab7ac71771dfe
      
https://github.com/WebKit/WebKit/commit/5164f69952f49fd6981669ab325ab7ac71771dfe
  Author: Youenn Fablet <[email protected]>
  Date:   2025-03-14 (Fri, 14 Mar 2025)

  Changed paths:
    A 
LayoutTests/http/wpt/mediasession/gpuProcessCrash-voiceDetection-expected.txt
    A LayoutTests/http/wpt/mediasession/gpuProcessCrash-voiceDetection.html
    M LayoutTests/platform/glib/TestExpectations
    M Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.cpp
    M Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h
    M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp

  Log Message:
  -----------
  Voice detection should be reenabled in case of GPU process crash
rdar://146752099
https://bugs.webkit.org/show_bug.cgi?id=289525

Reviewed by Eric Carlson.

Remove from WebPageProxy::gpuProcessExited, PLATFORM(MEDIA_STREAM) since it 
should have been ENABLE(MEDIA_STREAM),
and this code is already within an ENABLE(MEDIA_STREAM) section.

In case of a GPU process crash when microphone is muted, we need to start/stop 
the microphone capture to set up voice activity again.
We do this in RemoteRealtimeMediaSource::gpuProcessConnectionDidClose and we 
update BaseAudioSharedUnit::stopProducingData to wait for the warming up of the 
audio unit.
Otherwise, there is a risk to stop the audio unit before it even starts, which 
would disable the voice detection code.
We also return early when trying to start the audio unit and all clients have 
been removed.

* 
LayoutTests/http/wpt/mediasession/gpuProcessCrash-voiceDetection-expected.txt: 
Added.
* LayoutTests/http/wpt/mediasession/gpuProcessCrash-voiceDetection.html: Added.
* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.cpp:
(WebCore::BaseAudioSharedUnit::stopProducingData):
* Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::gpuProcessExited):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp:
(WebKit::RemoteRealtimeMediaSource::gpuProcessConnectionDidClose):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to