Given the serial state machine implemented by lib-gst-meet, it was
expecting an answer to the extdisco:2 iq but got a pong, and wrongly
assumed no STUN/TURN candidates were exposed by the server.
A much better solution would be to match on the iq id as well, but this
will do as a workaround.
* Updated GStreamer to 1.20
* Updated libnice to 0.1.18
* Vendored a minimal set of modified xmpp-parsers elements rather than
the whole thing
* Implemented retries of the initial Colibri connection
* Updated deps
The previous disco#info was missing the required disco#info feature and
an identity, and the ecaps2 was computed from an empty disco#info
instead of the one we advertise.
In our case caps is a tiny optimisation which lets other participants
cache our disco#info to avoid querying us every time.
A future improvement will be to reply to ecaps2 queries as well.
This adds a very simple Codec struct, which describes each codec
supported by a RTP description.
It will make it much easier to add newer codecs in the future, like AV1.
This commit is best viewed with git log -p -w to ignore indent changes.
In small deployments, for instance when there is only one server for all
participants, the region doesn’t mean anything so we can remove the
elements instead of sending an empty value.
* Allow focus to be a bare or full JID (thanks @teowoz & @Tellyo)
* If extdisco fails, just continue without STUN/TURN (thanks @teowoz &
@Tellyo)
* Updated deps for new colibri protocol crate
* rustfmt
- Handle unsolicited XMPP messages gracefully
- Split out generic XMPP connection handler which can be used for
connecting to brewery MUCs
- Don't deadlock during Jingle handling