EricssonResearch / EricssonResearch/openwebrtc
Unable set new source with owr_media_session_set_send_source()
- Dominant language
- C
- Stars
- 1.8k
- Forks
- 531
- PR merge metrics
- No merged PRs in 30d
Description
I would like to replace the source being sent. Setting NULL stops sending. But OWR complains when I set a new source.
```
(WebKitWebProcess:9952): GStreamer-CRITICAL **: Element rtpbin already has a pad named send_rtp_sink_1, the behaviour of gst_element_get_request_pad() for existing pads is undefined!
(WebKitWebProcess:9952): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion '!gst_pad_is_linked (target)' failed
(WebKitWebProcess:9952): GStreamer-CRITICAL **: gst_pad_set_active: assertion 'GST_IS_PAD (pad)' failed
(WebKitWebProcess:9952): GStreamer-CRITICAL **: gst_element_add_pad: assertion 'GST_IS_PAD (pad)' failed
** (WebKitWebProcess:9952): WARNING **: (/home/eadaber/repos/WebKit/WebKitBuild/DependenciesGTK/Source/openwebrtc/transport/owr_transport_agent.c:1430):link_rtpbin_to_send_output_bin: runtime check failed: (linked_ok)
```
Ping me for more info. Thanks
Contributor guide
Research direction
Start with owr_media_session_set_send_source() and the link_rtpbin_to_send_output entry point mentioned in openwebrtc/transport/owr_transport_agent.c. Reproduce replacing a source after setting it to NULL, then trace the rtpbin pad and ghost-pad warnings. Done means a new source can be set without the reported GStreamer critical errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100