It seems in the latest Safari 15.0, calling applyConstraints for a video media stream track with exact for deviceId will results in OverconstrainedError - Constraint not supported. This works in Safari 14.
Thanks for filing. Please attach a file, or link to a demo, that documents the bug.
<rdar://problem/83577361>
I have been able to reproduce this issue with just use navigator.mediaDevices.getUserMedia() and applyConstraints() API. Repo steps: - Call stream = navigator.mediaDevices.getUserMedia({ video: { deviceId: { exact: <deviceId string> }}}); <- exact here works. - Call stream.getVideoTracks()[0].applyConstraints({ deviceId: { exact: <deviceId string> }}); <- throw OverconstrainedError error in Safari 15 but not Safari 14.
Thanks for the report, I'll fix it soon but would like to understand the impact for your application. Thanks, Y
Created attachment 439472 [details] Patch
Committed r283173 (242221@main): <https://commits.webkit.org/242221@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 439472 [details].
Thanks. That was quick. This completely breaks our video filter when we try to apply video constraints. Will this be released in the next Safari patch version?
This is still an issue in Safari 15.2.
The issue is still reproducible in Safari 15.3 but seems to be fixed in Technology Preview version. Will it be available in 15.4?
Yes, it should be fixed in Safari 15.4, can you validate this?