[webkit-changes] [WebKit/WebKit] 7f097e: navigator.mediaDevices.getUserMedia({ audio: { ech...

youennf noreply at github.com
Fri Jan 31 09:51:13 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7f097e69658b94b477ef4a790e79fad82cefc6c6
      https://github.com/WebKit/WebKit/commit/7f097e69658b94b477ef4a790e79fad82cefc6c6
  Author: Youenn Fablet <youenn at apple.com>
  Date:   2025-01-31 (Fri, 31 Jan 2025)

  Changed paths:
    M LayoutTests/fast/mediastream/getUserMedia-echoCancellation-expected.txt
    M LayoutTests/fast/mediastream/getUserMedia-echoCancellation.html
    M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm
    M Source/WebCore/platform/mock/MockMediaDevice.h
    M Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  navigator.mediaDevices.getUserMedia({ audio: { echoCancellation: { exact : false } } }) is failing with OverConstrained error
rdar://143820857
https://bugs.webkit.org/show_bug.cgi?id=286680

Reviewed by Jean-Yves Avenard

Echo cancellation can have 3 values (on, off and support for both).
Before the patch, it would have only 2 values, meaning for supporting both would not be correctly handled for the fitness computation.
We update the code to handle all 3 values of echo cancellation support and update the fitness computation accordingly.

We also update how we apply constraints for devices that do not support both on and off values.

Covered by added test.

* LayoutTests/fast/mediastream/getUserMedia-echoCancellation-expected.txt:
* LayoutTests/fast/mediastream/getUserMedia-echoCancellation.html:
* Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp:
(WebCore::capabilityBooleanVector):
* Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance):
(WebCore::booleanSettingFromConstraint):
(WebCore::RealtimeMediaSource::applyConstraint):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::createForTesting):
(WebCore::CoreAudioCaptureSource::capabilities):
* Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h:
* Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:
(WebCore::MockRealtimeAudioSource::create):
* Source/WebCore/platform/mock/MockMediaDevice.h:
* Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::m_timer):
(WebCore::MockRealtimeAudioSource::capabilities):
* Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list