EricssonResearch / EricssonResearch/openwebrtc

Unable set new source with owr_media_session_set_send_source()

Open
#533 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.