How modify the OpenVidu Browser?

Hi, I want to customize my room-config file adding the selection of output audio devices.
To do that I have to modify the openvidu-browser, right?
If I’m right, how can I modify it and see my changes in Openvidu Call, more precisely in room-config file?

Thanks.

Can someone help me please?

This is a basic NPM development question, not really related to OpenVidu. There are lots of information online explaining how to use local NPM packages as dependencies in your NPM project. For example: https://www.viget.com/articles/how-to-use-local-unpublished-node-packages-as-project-dependencies
We also include similar information in OpenVidu Docs: https://docs.openvidu.io/en/latest/developing/#example-setup-for-development

Cheers.

Hi Pablo, thanks for the answer you gave me last time.
After my customization in openvidu-browser (for example I change a console.log) I followed the guide illustrated in OpenVidu Docs, but when I enter my openvidu-call project, I launch npm link openvidu-browser and rebuild the web component I get these warnings that block the functioning of the openvidu-call stream, that is, if 2 or more people enter the call, I only see my video and audio stream, while that of other people always remains black.
In the console I get this error:

ERROR:Request has timed out in Request: method:prepareReceiveVideoFrom params:{“sender”:“str_CAM_xxx”,“reconnect”:false} request:{“jsonrpc”:“2.0”,“method”:“prepareReceiveVideoFrom”,“params”:{“sender”:“str_CAM_xxx”,“reconnect”:false},“id”:x}

Those are the warnings:

Can you help me pls? What’s I’m doing wrong?

If you want to add the ability to select which audio devices or event “pre-select” an audio device, you don’t need to modify the openvidu-browser package, you just need to implement this in the frontend code. Maybe I’m not getting your point from this text, but I’m wondering if you miss any information about what do you must change the library

This problem is caused because you are using openvidu-browser from the master branch against a 2.17.0 openvidu-server. You must checkout to 2.17.0 release your clones openvidu repository and then modify its openvidu-browser library.

Hi Pablo, thanks again for the answer.
As I said, I followed the guide on this page OpenVidu Docs, and the link to the clone of the openvidu-browser repository points to the master branch and not to the one that is in release as you told me, is it correct as what or not?

The OpenVidu docs assume you want openvidu-browser of master branch. As I said that will fail right now if used against a 2.17.0 openvidu-server. SO you must checkout to 2.17.0 version in the repository BEFORE compiling or installing. This is basic Git:

git clone https://github.com/OpenVidu/openvidu.git
cd openvidu
git fetch --all
git checkout v2.17.0

Then you’ll be able to compile openvidu-browser library from the 2.17.0 source code. You can apply any changes at this point, and this will work against openvidu-server 2.17.0

It’s all clear, thanks again for the support.

Cheers