Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7f097e69658b94b477ef4a790e79fad82cefc6c6
https://github.com/WebKit/WebKit/commit/7f097e69658b94b477ef4a790e79fad82cefc6c6
Author: Youenn Fablet <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes