Openvidu-components-angular 3.5 – join when camera or microphone is unavailable

We have created a customized openvidu-components-angular application that worked well with the 2.x version. Recently we upgraded to OpenVidu 3.5, and also updated our custom app to this version. The new version is very nice, but we are now running into a problem that occurs when a user has no camera or when the microphone is disabled. In these cases, the join fails during device initialization with errors such as “NotFoundError: Requested device not found” and “INPUT_VIDEO_DEVICE_NOT_FOUND,” and the session is never established.

At first we thought this was caused by stale saved devices, so we implemented cleanup of stale device IDs from localStorage and sessionStorage, and verified that the issue is not caused by invalid stored devices. The behavior still persists even when there are genuinely no devices available or when the microphone is disabled at the OS or browser level.

After searching the support site, this appears to be a fairly common issue based on multiple posts involving empty deviceId values, NotFoundError, and cases where users have no camera, but we are still unclear on the correct solution at the Components level.

What we are trying to understand is the proper supported approach in openvidu-components-angular 3.5 to prevent device initialization failures from aborting the join process and to allow users to connect without publishing local media when devices are missing. More specifically, we would like to know how to enable audio-only participation when only a microphone is available, and how to allow subscriber-only participation when no devices are available at all. We are not using openvidu-browser directly, only Components, and we are looking for the correct control point in Components, whether through configuration, a hook, or an override, to achieve this behavior with minimal changes.

Forgot to mention that this problem is specific to Windows users we did not see this problem on macOS

Hi @aurdoc ,

I have tried to reproduce the behavior you described on Windows by disabling the microphone at the browser level and attempting to access the room. In this scenario, I was not able to reproduce the issue, and the session was established correctly. I was able to join the meeting and connect without any problems.

Next, I disabled the built-in camera on my device and repeated the test. In this case, no active devices were available—neither camera nor microphone—and the microphone remained disabled in the browser. Even so, I was able to join the meeting without any issues.

Please note that I was using OpenVidu Angular Components version 3.6.0, which includes bug fixes and improvements over version 3.5.0. With this in mind, your use case of having audio-only rooms or allowing rooms with only subscribers when devices are unavailable is possible without any customization or additional integration in your application.

I recommend updating to version 3.6.0 to verify that this issue has been resolved. Additionally, I suggest taking a look at OpenVidu Meet, which simplifies video conference integration in your application and reduces the developer effort required.

Thanks for you prompt reply!
The issue we are reporting is narrower than “joining with no active devices.” All affected users do join the session. The problem is that some Windows users who are using only a USB headset microphone and no video camera join the room without audio working.

Our findings so far: is a problem on Windows (Macs are not affected), it is seen with USB-based audio devices, especially headset microphones, using OpenVidu Angular Components 3.5 (not a problem for 2.xx).

On affected Windows systems, the relevant error is consistently: “NotFoundError: Requested device not found”. See this console output from an affected user:


[HomeComponent] enumerateDevices Array(2)
0: { kind: ‘audioinput’, label: ‘’, deviceId: ‘’ }
1: { kind: ‘audiooutput’, label: ‘’, deviceId: ‘’ }

[DevicesService] WARN: Strategy failed: audio=true, video=true NotFoundError: Requested device not found
[DevicesService] WARN: Strategy failed: audio=true, video=false NotFoundError: Requested device not found
[DevicesService] WARN: Strategy failed: audio=false, video=true NotFoundError: Requested device not found
[DevicesService] WARN: All permission strategies failed, trying device enumeration without permissions


This happens during device initialization / selection.

We also cleared stored audio/video device selections from localStorage and sessionStorage, but that did not resolve it.

One important observation: for one affected Chrome user, after adding a camera, video worked and the microphone from the camera worked, but the USB headset microphone still did not work.

So the issue seems specifically related to USB audio device selection/resolution on Windows in Angular Components 3.5.x, not to room join itself.

Will continue to investigate and we appreciate any thought/suggestions you may have

The suggestion is that you update to 3.6.0 and try again to see if the issue is resolved.

Thanks for the suggestion.

I updated to OpenVidu Angular Components 3.6 and confirmed with one previously affected Windows user that the headset-only audio problem is now resolved.

We will continue confirming with the rest of the testers, but so far this looks like the issue was specific to Angular Components 3.5.x device handling on Windows rather than to our room join flow.

Thanks again.