Commit graph

2213 commits

Author SHA1 Message Date
Sebastian Dröge 7edc9e656f rtpav1pay: Don't push buffers downstream while holding mutexes
And also push all packets that can be generated as a time as a single
buffer list instead of one by one.
2022-09-12 18:14:39 +03:00
Sebastian Dröge f9a8e121e1 rtpav1: Remove some unneeded lifetime annotations 2022-09-12 18:14:39 +03:00
Vivienne Watermeier 8d73b5008a Add RTP de/payloader elements for AV1
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/881
2022-09-12 18:14:39 +03:00
Jordan Petridis 2bf5f0bf67 ci: combine windows build jobs
Instead of having a matrix of jobs, use a single job running
all the tests like the linux jobs do.

This helps with improved cache hits as most of the deps are shared
between the builds.
2022-09-12 16:35:56 +03:00
Jordan Petridis 23c07d3cb3 ci: declare the depencency between build jobs
This enables the pipeline to execute jobs asyncronously when
they are ready, regardless if the pipeline stage has finished.
2022-09-12 08:16:10 +00:00
Jordan Petridis 3313a93ff7 ci/linux: also build with --no-default-features
Close #240
2022-09-12 08:16:10 +00:00
Jordan Petridis 165f3a788b ci/windows: Build all the crates at once
In gst-rs we build each crate on its own, since not all
crates share the same features and some conflict with each other.

However currently, that isn't the case in plugins-rs and instead
we can be building all the crates with the same flags and simplify
the the script.

Close #241
2022-09-10 14:29:23 +03:00
Thibault Saunier f966b3a573 meson: Fix usage of python3 variable which was renamed recently 2022-09-09 10:01:12 +03:00
Thibault Saunier 528bbcf67e onvifmetadatacombiner: Do not classify as Muxer
It confuses `encodebin` and technically it is not really a muxer so
as agreed on IRC, I am proposing to remove that classification.
2022-09-09 10:01:12 +03:00
Mathieu Duponchelle 419cc03133 awstranscriber: only set vocabulary filter when vocabulary is set
AWS otherwise refuses to start the transcription.
2022-09-09 06:53:54 +00:00
Mathieu Duponchelle 72b659b3ea awstranscriber: fix set_property for language-code 2022-09-09 06:53:54 +00:00
Jordan Petridis de3972a707 ci: Add visual studio/msvc builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/841>
2022-09-08 15:12:59 +03:00
Jordan Petridis 4616e3225c ci: allow jobs to be interrupted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/841>
2022-09-08 12:55:18 +03:00
Sebastian Dröge 919b60bb6b ci: Update to cargo-c 0.9.12 2022-09-07 12:15:21 +03:00
Sebastian Dröge 81ee30771c pngenc: Allow using deprecated compression levels 2022-09-06 19:33:55 +03:00
Xavier Claessens ef78498dc2 ci: Fix running gst-inspect inside devenv
There are 2 gst-inspect-1.0 executables, one in root builddir and
another one in subprojects/gstreamer/tools/. The latter does not link on
gst-full, meson devenv is supposed to set the former first in PATH, but
it seems to be flicky.
2022-09-06 11:53:15 -04:00
Mathieu Duponchelle 5ebf9913a1 signalling: add and fix test for consumer disconnection
Fixes #92
2022-09-05 22:28:37 +02:00
Mathieu Duponchelle 08b79ab8f1 signalling tests: fix typo in test name 2022-09-05 22:28:37 +02:00
Jordan Petridis 3c6086caeb video/rspng: add missing doc feature gate 2022-09-05 11:47:46 +03:00
Jordan Petridis d8e3894209 togglerecord: Port example to GTK 4 2022-09-05 11:47:37 +03:00
Jordan Petridis a60f4e9ae8 fallbackswitch: Port the example to GTK 4 2022-09-05 11:47:28 +03:00
Jordan Petridis 005fbafb30 threadshare: disable tests that can't work on windows
These depend on socket properties that are not available on windows
2022-09-05 11:47:20 +03:00
Jordan Petridis 602c2588dc text/json: hard depend on ser_de feature of gst crate
It's a hard dep instead a feature that can be disabled. It was
working with default features, but it was failing to build with
--no-default-features
2022-09-05 11:47:12 +03:00
Sebastian Dröge 1a40186485 Update for GLib ParamSpec builder API changes 2022-09-05 11:45:47 +03:00
Sebastian Dröge 3924e2e563 ci: Fix up image tags 2022-09-04 23:20:31 +03:00
Sebastian Dröge 46dddaf31c Update minimum supported Rust version to 1.63 2022-09-04 21:31:55 +03:00
Sebastian Dröge 4e7ce210cd meson: Fix directory/plugin name mapping for new webrtchttp plugin 2022-09-03 11:30:34 +03:00
Sebastian Dröge 462d7aa81a meson: Fix gstwebrtc/gstsdp subproject usage 2022-09-03 11:21:03 +03:00
Xavier Claessens 184f862307 meson: Fix deprecation warning
meson.build_root() has been renamed to meson.global_build_root() to not
be confused with meson.project_build_root().
2022-09-02 22:00:57 +00:00
Xavier Claessens d1d7e99978 meson: Blacklist csound and threadshare plugins for gst-full
They are known to be broken:
- csound is missing pkgconfig file.
- threadshare duplicates rtp symbols from GStreamer.
2022-09-02 22:00:57 +00:00
Xavier Claessens 4ac60165a8 meson: Define gst_plugins with list of dependencies
This is needed to link gst-full with Rust plugins. The script requires
either python11 or the tomli module.
2022-09-02 22:00:57 +00:00
Xavier Claessens ad48d5e8f2 meson: Import python module only once 2022-09-02 22:00:57 +00:00
Xavier Claessens 8f932a7641 ci: Store meson logs into artifacts
This helps debugging failures.
2022-09-02 22:00:57 +00:00
Xavier Claessens 934e6c3888 ci: Make gst-build job manual on MRs 2022-09-02 22:00:57 +00:00
Xavier Claessens 16f9c37c71 Fix missing pkgconfig requires 2022-09-02 22:00:57 +00:00
Thibault Saunier 664e2b75bd tsjitterbuffer: Fix latency type when getting property 2022-09-02 21:41:35 +00:00
Taruntej Kanakamalla 67e9ba8286 whipsink: A GstBin implementation for WHIP
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1410

Created a new plugin 'webrtchttp' to implement all the
WebRTC HTTP protocols under /net/webrtc-http directory.

WhipSink wraps around 'webrtcbin' with HTTP capabilites
to exchange SDP offer/answer so an ICE/DTLS session can
be established between the encoder/media producer (WHIP client)
and the broadcasting ingestion endpoint (Media Server).

Once the ICE/DTLS session is set up, the media will
flow unidirectionally from the WHIP client to the
broadcasting ingestion endpoint (Media Server).
Spec:
https://www.ietf.org/archive/id/draft-ietf-wish-whip-04.html
2022-09-03 00:18:59 +03:00
Sebastian Dröge 827099d22d aws: Update to aws 0.18/0.48 2022-09-02 10:46:02 +03:00
Thibault Saunier c3a1536849 gcc: Fix deadlock on shutdown
We were holding the element .state lock while trying to shutdown leading
to a deadlock.

Fixes: https://github.com/centricular/webrtcsink/issues/90
2022-08-31 18:11:30 +02:00
Sebastian Dröge cb339c1bf8 onvifmetadataparse: Pass through other XML as is with the UTC times based on the buffer PTSs 2022-08-31 10:33:16 +00:00
Sebastian Dröge 420f36251a onvif: Rename onvif(de)pay to rtponvifmetadata(de)pay and include the metadata specifier in the other element names too
This is more descriptive and avoids any future conflicts with other
kinds of ONVIF specific RTP (de)payloaders.
2022-08-31 13:00:53 +03:00
Mathieu Duponchelle 8605df4b16 webrtcsink: vp8/9: don't hardcode threads property
and keep it at its default of 0 (automatic).

Hardcoding that value triggered abnormally excessive CPU usage when
connecting multiple consumers.
2022-08-31 01:20:14 +02:00
Mathieu Duponchelle 5b694988d1 Update dependencies 2022-08-31 01:16:39 +02:00
Thibault Saunier a4f036499e protocol: Rework the way peers set their status
- Remove registration messages
- Add a setPeerStatus method which lets other peers know about their roles
2022-08-30 22:28:55 +02:00
Thibault Saunier 7e59bb519e protocol: Add a welcoming message, removing registering as consumer requirement
Since clients know from the start their Peer ID it is fine to go ahead
and connect as a consumer without prior registration.
2022-08-30 22:28:55 +02:00
Thibault Saunier dbcbfef8c7 Refactor signalling protocol around a Session ID
This allows for more use cases to be handled like having several session
between 2 peers, and it simplifies the code a bit and makes the protocol
sensibly cleaner

Webrtcsink has been refactored a bit to take the new concept into
account
2022-08-30 22:28:55 +02:00
Thibault Saunier f243f5fe5c protocol: Add an "Unregister" message type
This way we can use the same WebSocket where several peerTypes being
communicated and some those type can be unregistered, re registered
without ever closing the Socket connection.

This also introduces sensible symmetry between different message types.
2022-08-30 22:28:55 +02:00
Thibault Saunier e391f1ef25 ci: Check that documentation is updated as required 2022-08-29 18:33:22 -04:00
Thibault Saunier 16d804e761 doc: Mark request::user-agent as doc show default 2022-08-29 18:33:22 -04:00
Thibault Saunier 67e651f57c Allow "unused_doc_comments" as we use hotdoc and not rustdoc 2022-08-29 18:33:22 -04:00