Commit Graph

92 Commits

Author SHA1 Message Date
Jasper Hugo ea73eec7ee Automatically decode audio & video rather than requiring the pipeline to 2022-03-09 13:34:26 +07:00
Jasper Hugo d7e2320fe5 Configurable JB size, send PLIs, send loss events, sep RTP/RTCP logging 2022-03-09 10:58:23 +07:00
Jasper Hugo 6ef974719b Transmit EndpointStats on the colibri channel 2022-03-09 10:05:28 +07:00
Jasper Hugo d9642aa760 Release gst-meet 0.3.0, lib-gst-meet 0.5.0, jitsi-xmpp-parsers 0.1.0 2022-03-07 19:19:00 +07:00
Jasper Hugo 0bdf6a8cd9 Update to released version of xmpp-parsers, minidom, jid 2022-03-07 19:16:25 +07:00
Jasper Hugo 32a0742d08 Automatically determine xmpp-domain if not specified, update README 2022-03-07 17:38:41 +07:00
Jasper Hugo ca8cca9393 Bump versions 2022-03-07 16:59:43 +07:00
Jasper Hugo 2ace339d0b Update README.md (dependencies) 2022-03-07 16:55:42 +07:00
Jasper Hugo e6dd38401b Update README.md 2022-03-07 16:53:16 +07:00
Jasper Hugo fda3e26795 Added CLI flags for start-bitrate and stereo 2022-03-07 16:53:09 +07:00
Jasper Hugo 3557183a37 TWCC fixes, improved logging
* Added `payload` field to recv caps, fixing TWCC!
 * Re-enabled TWCC for audio
 * Added context to TLS error logging
 * Added missing rtcp-fb for RTX
2022-03-07 15:48:45 +07:00
Jasper Hugo d44546e8c6 Add support for logging RTP/RTCP packets 2022-03-07 10:04:30 +07:00
Jasper Hugo 43afe4696a Response to E2E ping requests 2022-03-06 17:54:15 +07:00
Jasper Hugo 68c9935823 Implement XMPP pings (client -> server) 2022-03-06 17:53:37 +07:00
Jasper Hugo 44208e28b3 fmt 2022-03-06 16:24:02 +07:00
Jasper Hugo c68a7cbe0a Make it possible to disable certificate verification 2022-03-06 16:23:46 +07:00
Jasper Hugo 3f27c90489 Updates for GStreamer 1.20, XMPP parsing improvements
* 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
2022-03-06 12:01:37 +07:00
Jasper Hugo abd8bcb142 Added OpenSSL as build dependency in shell.nix 2021-12-24 18:19:16 +07:00
Jasper 9d6d696b08
Clarify YouTube example 2021-12-15 21:10:33 +07:00
Jasper 98dc9a2b5e
Mention Dockerfile in README 2021-12-15 21:09:23 +07:00
Jasper c273049f26
Mention pkg-config dependency in README 2021-12-15 18:08:21 +07:00
Jasper Hugo 36110cca62 Update Dockerfile to use AVStack Alpine packages for GStreamer 1.19.x 2021-12-15 18:05:42 +07:00
Jasper Hugo 75d825a7e8 Update dependencies 2021-12-14 22:04:58 +07:00
Jasper Hugo cdb61f5a6b removed abs-send-time, added back grouping element 2021-12-14 21:42:47 +07:00
Jasper Hugo 594414138c Send the full presence when muting/unmuting 2021-11-19 12:08:57 +07:00
Jasper Hugo 6b33952074 Remove capsfilters from pipeline (fixes #5) 2021-11-05 10:52:17 +07:00
Jasper Hugo eb1d6f096b shell.nix: use overridden gst-* for building libnice 2021-11-05 10:49:54 +07:00
Jasper Hugo a38099eb34 update shell.nix for new gstreamer dependencies 2021-11-05 10:18:45 +07:00
Jasper Hugo e061f83524 update shell.nix for gstreamer 1.19.3 2021-11-05 09:42:30 +07:00
Jasper Hugo 46d2de0d56 Update deps, and update shell.nix for successful build on macos 2021-11-05 09:29:31 +07:00
Jasper e8a6f4dc16
Mention gst-plugins-bad dependency 2021-10-26 21:50:26 +07:00
Jasper Hugo a57ce262ff gst-meet now replaces {jid} and {jid_user} with empty strings if no JID
The real JID of MUC participants is not always available (noticed in the
log of #6)
2021-10-25 15:25:14 +07:00
Jasper Hugo c6292caff5 update colibri to 0.1.8
Fixes failure to deserialise EndpointStats due to missing serverRegion
field (noticed in log of #6)
2021-10-25 15:24:36 +07:00
Jasper Hugo 296801385c Specify max_height like lib-jitsi-meet rather than ideal_height 2021-10-25 14:57:52 +07:00
Jasper Hugo 0e63257b57 Update colibri to 0.1.7
Leave constraint values (ideal_height / max_height) out when unspecified
2021-10-25 14:57:27 +07:00
Jasper Hugo e8d42f66cc Update colibri to 0.1.6
improves ReceiverVideoConstraints serialisation, ref #6
2021-10-25 14:45:18 +07:00
Jasper Hugo f5da5fec99 clarified dependencies in readme 2021-10-25 11:11:25 +07:00
Jasper Hugo 745e819541 corrected feature flag names 2021-10-25 10:52:45 +07:00
Jasper Hugo 76febd522e added information about feature flags to the readme 2021-10-25 10:51:45 +07:00
Jasper Hugo 16a33d7448 removed unused imports & unused serde-with dependency 2021-10-25 10:39:19 +07:00
Emmanuel Gil Peyrot d5c7662c1d add yet another workaround in the xmpp-parsers fork for @name in ssma
This seems to be yet another proprietary extension, jicofo sets it to
either name='jvb-a0' or name='jvb-v0' depending on whether it is an
audio or a video content.  I’m tired of these meaningless extensions…
2021-10-25 10:28:10 +07:00
Jasper Hugo 9250084436 pluggable TLS implementations, defaulting to native-tls 2021-10-25 10:21:05 +07:00
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