openwebrtc icon indicating copy to clipboard operation
openwebrtc copied to clipboard

Unable set new source with owr_media_session_set_send_source()

Open adam-be opened this issue 9 years ago • 2 comments

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

adam-be avatar Dec 02 '15 15:12 adam-be

Sometimes I also get a lot of these (when replacing the source)

==== Error message start ====
Error in element srtp-encoder.
Error: GStreamer encountered a general supporting library error.
Debugging info: /home/eadaber/repos/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-bad/ext/srtp/gstsrtpenc.c(1058): gst_srtp_enc_process_buffer (): /GstPipeline:transport-agent-1/GstBin:transport_bin_1/GstBin:send-output-bin-1/GstDtlsSrtpEnc:dtls_srtp_rtp_encoder_1/GstSrtpEnc:srtp-encoder:
Unable to protect buffer (protect failed) code 10
==== Error message stop ====

adam-be avatar Dec 02 '15 15:12 adam-be

Yes, some changes are needed in the transport agent for this to work. Dynamically changing the pipeline layout while in PLAYING state isn't trivial.

philn avatar Oct 21 '16 07:10 philn