Development roadblock for video renegotiation use case

54 views
Skip to first unread message

kiranr...@gmail.com

unread,
Jul 2, 2025, 12:22:59 PMJul 2
to discuss-webrtc
Hi All,

I am facing one issue with video renegotiation in native.

During the peer connection setup, a video track was added at initialization. Call began with the local side advertising sendrecv capability for video in the SDP offer. However, the remote endpoint responded with an inactive state for the video media line.

Subsequently, the remote side initiated a new offer that upgraded the video status to sendrecv. We appropriately responded with matching sendrecv capability. Given that the video stream had previously been marked as inactive, we recognized the need to explicitly set the transceiver direction to sendrecv to ensure proper advertisement in our SDP response.

Analysis of the resulting SDP confirms the correct sendrecv declaration. Despite this technically correct signaling exchange, we're experiencing a critical issue: no video data is being transmitted from our local endpoint to the remote peer.

Tried two approaches:

- Tried to replace localVideoTrack by sender.setTrack(localvideotrack). One observation was that even before this step, sender has active video track.
       
- pc.removeTrack(sender) followed by pc.addTrack(localvideotrack, [streamid]). One observation was even though pc.removeTrack(sender) returned success, still there exists a videotrack in sender. Upon doing  pc.addTrack(localvideotrack, [streamid]), there is a log that "Sender already exists for track video0".

On web, doing replaceTrack(localvideotrack) worked fine.

Any technical insights or recommended debugging approaches would be greatly appreciated.

BRs
Kiran


Reply all
Reply to author
Forward
0 new messages