Seperate presenter (camera) video from screen sharing (desktop) video (multiple stream from a participant)


I am trying to enrich library to support multiple stream from a participant to seperate presenter video (camera) and screen sharing. I have changed many places in the project. I have succeeded to create another track after starting screenshare.

My problem is about muting the camera video. Whenever I mute the locak camera video, the desktop or screen sharing stream appears on camera container on the remote side. I don’t know where this happens.

I have checked on RemoteVideo an parent (SmallVideo) has still camera stream while I see the desktop view in video.

Somewhere in TraceablePeerConnnection or RTC, camera stream is replaced by desktop video (normal behavior without my change, but I don’t want here)

How can I prevent desktop stream replacing camera container stream on remote side?

Thank you.

The responsible method is here;

in JingleSessionPC.js

_addRemoveTrackAsMuteUnmute(isMute, track) {

method calls tpc.removeTrackMute(track)

than this method generetes a result shouldRenegotiate true value.

After that;

_renegotiate() causes this stream replacement. I have disable this calling, but I don’t know this would be a problem later.

Thank you

I might be wrong. After I disabled _renegotiate() calling, unmute process started to not work. I may research on the remote side :confused: Negotiate is necessary for mute/unmute operations as I understood.