MediaDeviceSelect and localTrack.setDeviceId no longer updates track source in latest Chrome
### Select which package(s) are affected
\@livekit/components-react
### Describe the bug
In the latest version of Chrome, the `MediaDeviceSelect` component and the `LocalTrack.setDeviceId` method are not functioning as expected. When a user selects a different device from the dropdown, the device change does not take effect.
**Observations:**
- **No Error Thrown**: The `setDeviceId` method executes without throwing any errors. However, after awaiting the update, the `track.mediaStreamTrack.getSettings().deviceId` still reflects the original device ID, indicating that the device change did not occur.
- **UI Behavior**: In the user interface, selecting a new device triggers a track restart, as expected. Despite this, the track source remains unchanged, displaying the same camera feed as before.
- **Browser Specificity**: This issue is specific to Chrome and does not occur in Safari or Firefox, where the device change works as intended.
**Assumptions and Related Issues:**
- It is assumed that a similar underlying issue affects the `MediaDeviceSelect` component, given the observed behavior.
**Request for Assistance:**
- Any insights or guidance on resolving this issue would be greatly appreciated, especially regarding potential workarounds or patches for Chrome.
### Reproduction
I'm using Chrome Version 139.0.7258.128.
In terms of code to reproduce, there's not much to show, these are the affected Livekit component & method.
`await track.setDeviceId(deviceId);`
`<MediaDeviceSelect kind="videoinput" />`
### Logs
```shell
```
### System Info
```shell
Chrome Version 139.0.7258.128.
Mac OS: 15.3.1
```
### Severity
annoyance
### Additional Information
_No response_
0 条评论