Hi,
I am currently trying out WebRTC natively on MacOS (M1) with the webrtcbin and the webrtc_sendrecv.py example.
gst-launch-1.0 --version
gst-launch-1.0 version 1.23.0
GStreamer 1.23.0 (GIT)
The signal server is running with a self-signed cert, as well as the cert was added in Firefox.
Here is the output when I connect to the demo (example) HTML page. Do I miss anything, or must I set anything in the pipeline to allow self-signed certs?
0:00:05.606926042 56530 0x600002789540 DEBUG dtlsdec gstdtlsdec.c:743:gst_dtls_dec_fetch_connection: fetching 'rtp_0_2606549679' from connection table, size is 3
0:00:05.607086750 56530 0x600002789540 DEBUG dtlsenc gstdtlsenc.c:415:src_activate_mode:<dtlsenc0> src pad activating in push mode
0:00:05.607294334 56530 0x600002789540 DEBUG dtlsenc gstdtlsenc.c:362:gst_dtls_enc_change_state:<dtlsenc0> starting connection rtp_0_2606549679
0:00:05.607324084 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection0> initial state set: role=client buf=(0x0:0/0) 1110|0 before SSL initialization
0:00:05.607334375 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection0> poll: before handshake: role=client buf=(0x0:0/0) 1110|0 before SSL initialization
0:00:05.608133250 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 6
0:00:05.608329875 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<dtlsconnection0> BIO: Timeout set
0:00:05.608340667 56530 0x600002789540 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<dtlsconnection0> waiting for 999990 usec
0:00:05.608862292 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 49
0:00:05.608871959 56530 0x600002789540 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<dtlsconnection0> BIO: MTU query, returning 0...
0:00:05.608877000 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 49
0:00:05.608881459 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 49
0:00:05.608885792 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 42
0:00:05.608890084 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection0> BIO: unhandled ctrl, 49
0:00:05.608942625 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<dtlsconnection0> BIO: pending write
0:00:05.609042834 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection0> BIO: writing 255
0:00:05.609053667 56530 0x600002789540 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc0> sending data from rtp_0_2606549679 with length 255
0:00:05.609068375 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection0> BIO: flushing
0:00:05.609074917 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection0> BIO: writing 72
0:00:05.609080542 56530 0x600002789540 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc0> sending data from rtp_0_2606549679 with length 72
0:00:05.609086125 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection0> BIO: flushing
0:00:05.609191125 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<dtlsconnection0> BIO: EOF
0:00:05.609198334 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<dtlsconnection0> BIO: EOF query returned 0
0:00:05.609210667 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection0> poll: after handshake: role=client buf=(0x0:0/0) 1001010|c SSLv3/TLS write client hello
0:00:05.609216042 56530 0x600002789540 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<dtlsconnection0> do_handshake encountered potential BIO error
0:00:05.609222792 56530 0x600002789540 DEBUG dtlsconnection gstdtlsconnection.c:1024:handle_error:<dtlsconnection0> OpenSSL reported a syscall error. flow_return=0
0:00:05.609831292 56530 0x600002789540 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection0> first poll done: role=client buf=(0x0:0/0) 1001010|c SSLv3/TLS write client hello
0:00:05.610724042 56530 0x6000027f0460 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<dtlsconnection0> waiting for 997607 usec
0:00:05.611552334 56530 0x6000027e8140 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:05.611569542 56530 0x6000027e8140 DEBUG dtlsdec gstdtlsdec.c:613:sink_chain:<dtlsdec0> received buffer from rtp_0_2606549679 with length 189
0:00:05.612026459 56530 0x6000027e8140 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection0> process start: role=client buf=(0x105a07aa8:0/189) 1001010|c SSLv3/TLS write client hello
0:00:05.612047417 56530 0x6000027e8140 DEBUG dtlsconnection gstdtlsconnection.c:1240:bio_method_read:<dtlsconnection0> reading 189/189 bytes 189 at offset 0, output buff size is 16717
0:00:05.612066167 56530 0x6000027e8140 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection0> BIO: writing 15
0:00:05.612073125 56530 0x6000027e8140 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc0> sending data from rtp_0_2606549679 with length 15
0:00:05.612828875 56530 0x6000027e8140 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection0> BIO: flushing
0:00:05.612839084 56530 0x6000027e8140 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<dtlsconnection0> read result: -1
0:00:05.612845209 56530 0x6000027e8140 ERROR dtlsconnection gstdtlsconnection.c:994:handle_error:<dtlsconnection0> Fatal SSL error
0:00:05.612870084 56530 0x6000027e8140 ERROR dtlsconnection gstdtlsconnection.c:977:ssl_err_cb:<dtlsconnection0> ssl error: 0030146F01000000:error:0A0000F4:SSL routines:ossl_statem_client_read_transition:unexpected message:ssl/statem/statem_clnt.c:398:
0:00:05.612910167 56530 0x6000027e8140 ERROR dtlsdec gstdtlsdec.c:503:process_buffer:<dtlsdec0> Error processing buffer: Fatal SSL error
0:00:05.612917042 56530 0x6000027e8140 WARN dtlsdec gstdtlsdec.c:504:process_buffer:<dtlsdec0> error: Fatal SSL error
0:00:05.613330000 56530 0x6000027e8140 ERROR dtlsdec gstdtlsdec.c:619:sink_chain:<dtlsdec0> Failed to process buffer: error
ERROR: gst-resource-error-quark: Could not read from resource. (9) ../subprojects/gst-plugins-bad/ext/dtls/gstdtlsdec.c(504): process_buffer (): /GstPipeline:pipeline0/GstWebRTCBin:sendrecv/TransportReceiveBin:transportreceivebin0/GstDtlsSrtpDec:dtlssrtpdec0/GstDtlsDec:dtlsdec0:
Fatal SSL error
Traceback (most recent call last):
File "/Users/mli/Repositories/scripts/gstreamer/subprojects/gst-examples/webrtc/sendrecv/gst/webrtc_sendrecv.py", line 386, in <module>
res = loop.run_until_complete(c.loop())
File "/Users/mli/.pyenv/versions/3.10.4/lib/python3.10/asyncio/base_events.py", line 644, in run_until_complete
raise RuntimeError('Event loop stopped before Future completed.')
RuntimeError: Event loop stopped before Future completed.
0:00:05.631553792 56530 0x6000027e8190 DEBUG dtlsdec gstdtlsdec.c:743:gst_dtls_dec_fetch_connection: fetching 'rtp_1_1575477934' from connection table, size is 2
0:00:05.631627459 56530 0x6000027e8190 DEBUG dtlsenc gstdtlsenc.c:415:src_activate_mode:<dtlsenc1> src pad activating in push mode
0:00:05.631769084 56530 0x6000027e8190 DEBUG dtlsenc gstdtlsenc.c:362:gst_dtls_enc_change_state:<dtlsenc1> starting connection rtp_1_1575477934
0:00:05.631808334 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection1> initial state set: role=client buf=(0x0:0/0) 1110|0 before SSL initialization
0:00:05.631815542 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection1> poll: before handshake: role=client buf=(0x0:0/0) 1110|0 before SSL initialization
0:00:05.631845167 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 6
0:00:05.631922667 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<dtlsconnection1> BIO: Timeout set
0:00:05.631929750 56530 0x6000027e8190 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<dtlsconnection1> waiting for 999993 usec
0:00:05.631937334 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 49
0:00:05.631940375 56530 0x6000027e8190 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<dtlsconnection1> BIO: MTU query, returning 0...
0:00:05.631943250 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 49
0:00:05.631945875 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 49
0:00:05.631979209 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 42
0:00:05.631987167 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<dtlsconnection1> BIO: unhandled ctrl, 49
0:00:05.631991459 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<dtlsconnection1> BIO: pending write
0:00:05.632007500 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection1> BIO: writing 255
0:00:05.632012709 56530 0x6000027e8190 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc1> sending data from rtp_1_1575477934 with length 255
0:00:05.632019500 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection1> BIO: flushing
0:00:05.632023792 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection1> BIO: writing 72
0:00:05.632027000 56530 0x6000027e8190 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc1> sending data from rtp_1_1575477934 with length 72
0:00:05.632030542 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection1> BIO: flushing
0:00:05.632042500 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<dtlsconnection1> BIO: EOF
0:00:05.632046125 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<dtlsconnection1> BIO: EOF query returned 0
0:00:05.632055125 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection1> poll: after handshake: role=client buf=(0x0:0/0) 1001010|c SSLv3/TLS write client hello
0:00:05.632058500 56530 0x6000027e8190 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<dtlsconnection1> do_handshake encountered potential BIO error
0:00:05.632063542 56530 0x6000027e8190 DEBUG dtlsconnection gstdtlsconnection.c:1024:handle_error:<dtlsconnection1> OpenSSL reported a syscall error. flow_return=0
0:00:05.632101209 56530 0x6000027e8190 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection1> first poll done: role=client buf=(0x0:0/0) 1001010|c SSLv3/TLS write client hello
0:00:05.632148042 56530 0x6000027e4230 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<dtlsconnection1> waiting for 999776 usec
0:00:05.632361459 56530 0x6000027e81e0 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux1> pushing dtls packet
0:00:05.632373542 56530 0x6000027e81e0 DEBUG dtlsdec gstdtlsdec.c:613:sink_chain:<dtlsdec1> received buffer from rtp_1_1575477934 with length 189
0:00:05.632382334 56530 0x6000027e81e0 LOG dtlsconnection gstdtlsconnection.c:859:log_state:<dtlsconnection1> process start: role=client buf=(0x11b635d98:0/189) 1001010|c SSLv3/TLS write client hello
0:00:05.632391750 56530 0x6000027e81e0 DEBUG dtlsconnection gstdtlsconnection.c:1240:bio_method_read:<dtlsconnection1> reading 189/189 bytes 189 at offset 0, output buff size is 16717
0:00:05.632400750 56530 0x6000027e81e0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<dtlsconnection1> BIO: writing 15
0:00:05.632404834 56530 0x6000027e81e0 DEBUG dtlsenc gstdtlsenc.c:667:on_send_data:<dtlsenc1> sending data from rtp_1_1575477934 with length 15
0:00:05.632412167 56530 0x6000027e81e0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<dtlsconnection1> BIO: flushing
0:00:05.632415500 56530 0x6000027e81e0 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<dtlsconnection1> read result: -1
0:00:05.632418334 56530 0x6000027e81e0 ERROR dtlsconnection gstdtlsconnection.c:994:handle_error:<dtlsconnection1> Fatal SSL error
0:00:05.632468084 56530 0x6000027e81e0 ERROR dtlsconnection gstdtlsconnection.c:977:ssl_err_cb:<dtlsconnection1> ssl error: 00702E6F01000000:error:0A0000F4:SSL routines:ossl_statem_client_read_transition:unexpected message:ssl/statem/statem_clnt.c:398:
0:00:05.632496167 56530 0x6000027e81e0 ERROR dtlsdec gstdtlsdec.c:503:process_buffer:<dtlsdec1> Error processing buffer: Fatal SSL error
0:00:05.632502459 56530 0x6000027e81e0 WARN dtlsdec gstdtlsdec.c:504:process_buffer:<dtlsdec1> error: Fatal SSL error
0:00:05.632530042 56530 0x6000027e81e0 ERROR dtlsdec gstdtlsdec.c:619:sink_chain:<dtlsdec1> Failed to process buffer: error