Skip to content

webrtc: unit test fixes and addition to CI

Allows webrtcbin to actually unit test some negotiation scenarios. Without this, only two of the possible 33 tests are being executed. Includes a couple of webrtc race fixes :)

Still need to add usrsctp to gst-build for the data channel tests but that requires meson 0.54.0 on the CI for separate werror options per subproject.

commit 71f63f29

webrtc: always reply to a promise

Otherwise, we defeat the purpose of a promise.

We were not replying when the state was closed.

commit cc38979f

webrtc: name threads based on the element name

Makes debugging a busy loop possibly easier

commit c091531a

tests/webrtc: fix a data channel leak in a test

test_data_channel_create_after_negotiate overrides the data_channel_data
without ever freeing it.

commit 27eea05b

webrtc: correctly use the pad template

GstHarness uses this for releasing request pads correctly. Fixes
numerous leaks in the webrtc unit tests.

commit 38cdff15

webrtc: Fix a couple of renegotiation races

When negotiating the SDP we should only connect the streams that are
actually mentioned in the SDP.  All other streams are not relevant at
this time and would likely be part of a future SDP update.  Fixes a
couple of the renegotiation webrtc unit tests.

commit c58145c1

tests/webrtc: move bus thread creation earlier

Fixes a small deadlock race where the bus watch GSource could execute before
the unlock mutex GSource.

commit e6c2be1c

tests: add libnice to the plugin loading whitelist

Allows webrtcbin to actually unit test some negotiation scenarios.
Without this, only two of the possible 33 tests are being executed.
Edited by Matthew Waters

Merge request reports