WebRTC bin data channels not opening


I successfully run and modify to my liking the WebRTC sendrecv example here:

However, I am having an issue with data channels.
When I use the webrtc-sendrecv process (unmodified) with the JavaScript
example, data channels open and the browser and executable talk to each
other: “Hi! (from Gstreamer)” and “Hi! (from browser)”

However, when I run two webrtc-sendrecv executables, they are able to pass
media to each other and CREATE data channels, but the data channels never
OPEN - no on-open signal ever fires and if I try to send a message at any
point through send_channel, I get “webrtc_data_channel_send_string:
assertion ‘channel->opened’ failed”.

I would appreciate any advice! I believe the answer must be in the way the
executable handles negotiation vs. the Javascript example, but I don’t know
how to debug into those issues.

Solved this by using the latest code from the monorepo - which was not linked to from an older version!


Which repo are you referring to?
I am having trouble with the ice candidates. The connected method
self.webrtc.connect('on-ice-candidate', self.send_ice_candidate_message)
is never called after my sdp offer and anwser are set on both side.


This is the old: webrtc · master · GStreamer / gst-examples · GitLab

This is the new: subprojects/gst-examples/webrtc · main · GStreamer / gstreamer · GitLab

1 Like