Commit Graph

100 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot d37e05bd98 mark self as audio/video muted when no audio/video element
This is more user-friendly than trying to debug why we don’t hear/see
anything from this one participant.
2021-10-25 10:11:53 +07:00
Emmanuel Gil Peyrot 66cfaa4da5 implement caps to avoid a panic
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.
2021-10-25 10:11:26 +07:00
Emmanuel Gil Peyrot c793d08bb6 wait for our self-presence to consider the room joined
The current code was only waiting until the first presence received from
the room, while our self-presence is the very last one to be received.
2021-10-25 10:07:33 +07:00
Emmanuel Gil Peyrot 7fa31bd796 make jingle more generic over codecs
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.
2021-10-25 10:06:52 +07:00
Emmanuel Gil Peyrot 5db78b11bf simplify RTP parsing 2021-10-25 10:06:52 +07:00
Emmanuel Gil Peyrot e22cf34f42 split ICE setup into its own function 2021-10-25 10:06:52 +07:00
Emmanuel Gil Peyrot c920fdf0a5 split RTP description parsing into its own function
This keeps the ugly Options used after in the code, in the future these
could be replaced with the ParsedRtpDescription struct instead.
2021-10-25 10:06:52 +07:00
linkmauve 0040d20151
don’t include region elements when empty (#4)
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.
2021-10-11 21:36:10 +07:00
Emmanuel Gil Peyrot 9d2dcfb21c replaced empty ns hack with the actual namespace used
All children of a message/presence/iq are in the jabber:client namespace
in a c2s stream unless xmlns is specified.
2021-10-11 21:32:45 +07:00
Jasper Hugo fab8efe5fb Compatibility fixes
* 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
2021-10-11 10:33:29 +07:00
Jasper Hugo 5c72befcef added repository, readme, documentation to lib-gst-meet manifest 2021-10-06 12:08:19 +07:00
Jasper Hugo 2b2ceca515 use new colibri crate & vendored xmpp-parsers 2021-10-06 12:06:27 +07:00
Jasper Hugo a6089293a6 vendored xmpp-parsers into the repository for now 2021-10-06 12:05:46 +07:00
Jasper Hugo 55aa89010c updated deps, updated gst-meet for new lib-gst-meet API, export xmpp-parsers 2021-09-27 22:37:55 +07:00
Jasper Hugo 2726b70902 updated shell.nix for gst 1.19.2 release 2021-09-27 22:34:50 +07:00
Jasper Hugo 037c2d944f XMPP improvements
- 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
2021-09-07 23:52:04 +07:00
Jasper Hugo 5759d5c800 use patched minidom 2021-08-25 12:40:30 +07:00
Jasper Hugo 4575371d6d fmt 2021-08-25 11:21:43 +07:00
Jasper Hugo a868e7e781 updated deps 2021-08-25 11:21:03 +07:00
Jasper Hugo 9999cd212c better error reporting on connect failure 2021-08-25 11:20:48 +07:00
Jasper Hugo f414c9db66 RTX and TWCC working correctly 2021-08-24 15:40:08 +07:00
Jasper Hugo d5842ee79f RTX support, TCC support (not working correctly yet) 2021-08-23 11:56:11 +07:00
Jasper Hugo 35fb24071e updated deps 2021-08-19 17:21:58 +07:00
Jasper Hugo e5ed8d89f6 added support for some colibri signalling via gst-meet tool 2021-08-19 17:20:42 +07:00
Jasper Hugo 6f67e2536d lib-gst-meet 0.3: colibri message support, more flexible recv handling 2021-08-19 17:06:12 +07:00
Jasper Hugo e31c81b68e gst-meet 0.2.1 2021-08-18 08:00:56 +07:00
Jasper Hugo 67134e84cc lib-gst-meet 0.2.1 2021-08-18 07:56:40 +07:00
Jasper Hugo e5d10c6da0 added set_pipeline_state to C API, improved participant-left handler 2021-08-18 07:56:01 +07:00
Jasper Hugo b593ca6697 added support for configuring tracing via API, made connected() private 2021-08-17 11:55:17 +07:00
Jasper Hugo 2fd02c7e68 provide a ctx argument for the C API callbacks 2021-08-17 08:55:17 +07:00
Jasper Hugo 3487596b92 updated nice-gst-meet 2021-08-16 14:43:10 +07:00
Jasper Hugo 50eb9b5dc2 nice-gst-meet -> 0.1.1 2021-08-16 14:31:09 +07:00
Jasper Hugo e86ed026c1 added libc6-compat to dockerfile 2021-08-16 14:30:37 +07:00
Jasper Hugo 89d78b4800 portability fix for platforms with unsigned char, added Dockerfile 2021-08-16 14:13:10 +07:00
Jasper Hugo 33203781ba removed workspace member not committed to repo yet, updated cbindgen 2021-08-16 09:54:49 +07:00
Jasper Hugo 56463c6100 Added verbosity option, added participant_left event 2021-08-15 18:24:06 +07:00
Jasper Hugo 0c18a319e7 updated dep in native binding to 0.2 2021-08-15 12:37:04 +07:00
Jasper Hugo 9cd9a6b473 updated lib-gst-meet dep to 0.2.0 2021-08-15 12:36:18 +07:00
Jasper Hugo 11ffd97d8b updated gst-meet and lib-gst-meet to 0.2.0 2021-08-15 12:35:51 +07:00
Jasper Hugo 9af6db6c02 added initial draft of lib-gst-meet-c. added shell.nix for deps 2021-08-14 20:06:39 +07:00
Jasper Hugo 2634c68ad6 compatibility with gstreamer 0.16 2021-08-14 13:13:33 +07:00
Jasper Hugo d63b1118cc removed not-yet-committed lib-gst-meet-c package from workspace manifest 2021-08-14 13:08:13 +07:00
Jasper Hugo 57f78656a3 compatibility with libnice 0.1.16 2021-08-14 13:04:40 +07:00
Jasper Hugo 120bcdbe7d install dependencies in rustdoc workflow 2021-08-14 12:55:27 +07:00
Jasper Hugo 56001583ad removed unused crates.io patch from workspace manifest 2021-08-14 12:48:57 +07:00
Jasper Hugo eb099c75f1 renamed rustdoc job in github actions workflow 2021-08-14 12:42:48 +07:00
Jasper Hugo 7a46772391 added rustdoc workflow 2021-08-14 12:38:45 +07:00
Jasper Hugo 7190086673 added TURN support 2021-08-13 23:09:17 +07:00
Jasper Hugo bed8d156dc Prepared for publishing to crates.io 2021-08-13 19:30:25 +07:00
Jasper Hugo fbaf22ba7e Initial 2021-08-13 18:48:59 +07:00