| Summary: | Microphone device filtering heuristic is too harsh | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | youenn fablet <youennf> | ||||||||||
| Component: | WebRTC | Assignee: | youenn fablet <youennf> | ||||||||||
| Status: | RESOLVED FIXED | ||||||||||||
| Severity: | Normal | CC: | eric.carlson, ews-watchlist, glenn, hta, jer.noble, philipj, sergio, tommyw, webkit-bug-importer, youennf | ||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||
| Version: | WebKit Nightly Build | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Attachments: |
|
||||||||||||
|
Description
youenn fablet
2021-12-22 01:53:15 PST
On WebKit ToT, my Shure MV88+ is no longer seen as a valid microphone. Generated error log is "Ignoring output device that have input only for echo cancellation". Created attachment 447789 [details]
Patch
Removing the audio tap filtering makes it work, but it might have the side effect of exposing devices that will not be able to properly record. @Eric, any idea? Created attachment 448506 [details]
Patch
Comment on attachment 448506 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448506&action=review > Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:114 > +static bool isValidCaptureDevice(const CoreAudioCaptureDevice& device, bool enableTapEnabledFiltering) Nit: "enable...Enabled..." is slightly confusing, maybe something like "filterTapEnabledDevices" instead? > Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:130 > + RELEASE_LOG(WebRTC, "Ignoring output device that have input only for echo cancellation"); Not new, but: s/have/has/ > Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:271 > +static inline Vector<CoreAudioCaptureDevice> computeAudioDeviceList(bool enableTapEnabledFiltering) Same comment as above. > Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:351 > + auto audioDevices = computeAudioDeviceList(m_enableTapEnabledFiltering); Ditto > Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:49 > + void setEnableTapEnabledFiltering(bool doFiltering) { m_enableTapEnabledFiltering = doFiltering; } Ditto Created attachment 448513 [details]
Patch for landing
Created attachment 448523 [details]
Patch for landing
Committed r287715 (245799@main): <https://commits.webkit.org/245799@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 448523 [details]. |