Commit graph

259 commits

Author SHA1 Message Date
Thibault Saunier b164daf510 webrtc: Fix clippy issues 2022-10-20 11:51:58 +02:00
Thibault Saunier 87fd49a9bf webrtc:signalling: Remove short option for 'host' in the cli
It clashes with `--help`
2022-10-20 11:51:58 +02:00
Thibault Saunier eb9d0bb824 Merge 'webrtcsink' from 020c7e2900 2022-10-20 11:51:58 +02:00
Sebastian Dröge 12400b6b87 Update everything for element factory builder API changes
And set properties as part of object construction wherever it makes
sense.
2022-10-19 19:43:29 +03:00
Sebastian Dröge 9ce8e93c63 rtpav1pay: Track last known upstream PTS/DTS in case not all OBUs are properly timestamped 2022-10-19 15:42:48 +03:00
Sebastian Dröge 36861edf9a rtpav1pay: Use a VecDeque instead of a Vec for the queued OBUs
And use a `Vec` plus offset for consuming partial byte buffers.
Removing the first element from a `Vec` repeatedly is not very cheap.

Also simplify calculation of the current packet by removing a mostly
unused type and keeping track of the calculations always locally instead
of sometimes storing it in the element state.
2022-10-19 15:23:10 +03:00
Sebastian Dröge 24b7cfc841 Update for GStreamer API changes 2022-10-18 19:26:52 +03:00
Arun Raghavan 03b03fe2dd whipsink: Log error body along with status code when POST fails 2022-10-18 17:01:36 +02:00
Thibault Saunier 5e7537953c webrtc: Move to net/webrtc 2022-10-18 15:18:53 +02:00
Sanchayan Maity c63307e6d7 net/webrtc-http: whipsink: Return a proper error message & not panic
On a server error, we currently crash and panic. Return a proper error
message instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/914>
2022-10-18 10:38:57 +00:00
François Laignel 8011eadfd2 Use new format constructors
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1128
2022-10-18 10:36:59 +00:00
Arun Raghavan e66378d254 aws: Add a test for s3src/s3sink
This does rely on AWS credentials being provided in the environment, but
the test will be ignored if those are missing.
2022-10-18 09:51:34 +00:00
Sebastian Dröge e17688a2da Update for pango API changes 2022-10-17 20:02:02 +03:00
Vivia Nikolaidou 0ab965335f onvifmetadataoverlay, cea608overlay: Fix pangocairo::FontMap::new()
It doesn't return an Option anymore.
2022-10-14 18:12:33 +03:00
Vivia Nikolaidou f11b0fa5eb plugins, examples, tutorials: Use AudioCapsBuilder and VideoCapsBuilder
Simplify caps creation code
2022-10-13 19:24:57 +00:00
Sebastian Dröge 862c2af1d9 ndi: Remove unnecessary explicit Send+Sync impls
These are automatically available now.
2022-10-13 17:54:08 +00:00
Vivia Nikolaidou dbd5a44b90 hlssink3: Use #[cfg(feature = "doc")] on gst::prelude import
It otherwise gives a warning about the unused import
2022-10-13 14:22:36 +03:00
Sebastian Dröge 5f19639d0f ndi: Various code cleanup 2022-10-13 08:52:52 +00:00
Sebastian Dröge b2ddb34258 onvif: Switch from minidom to xmltree for parsing ONVIF timed metadata
minidom doesn't handle various valid but suboptimal XML documents.
2022-10-12 21:00:13 +00:00
Sebastian Dröge 97e0852156 ndi: Add NDI plugin to the docs 2022-10-12 22:25:13 +03:00
Sebastian Dröge 53b02a82ae ndi: Re-organize code a bit and don't make internal modules public 2022-10-12 22:09:56 +03:00
Sebastian Dröge 0a2e6e47c9 ndi: Silence some more clippy warnings 2022-10-12 22:09:55 +03:00
Sebastian Dröge db8037d16c ndi: Update for pad default functions API changes 2022-10-12 22:09:55 +03:00
Sebastian Dröge 3fe9e4a207 ndi: Implement dynamic loading of the NDI SDK
And build the plugin on the CI and via meson.
2022-10-12 22:09:53 +03:00
Sebastian Dröge 16c036e2cc ndi: Make element factory details and debug categories more consistent 2022-10-12 21:29:07 +03:00
Sebastian Dröge 907910329f ndi: Prefix GType names with Gst 2022-10-12 21:29:07 +03:00
Sebastian Dröge 047f990c78 ndi: Integrate into the build system 2022-10-12 21:29:07 +03:00
Sebastian Dröge a000432b13 ndi: Relicense plugin from LGPL-2.1 to MPL-2
This was agreed to by all previous contributors in writing.
2022-10-12 21:29:07 +03:00
Sebastian Dröge fb8192f40b ndi: Remove unnecessary reference-timestamps feature 2022-10-12 21:29:07 +03:00
Vivia Nikolaidou fedd67dcaa ndi: Use AudioCapsBuilder and VideoCapsBuilder
Simplify caps creation codes
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou 95e8deded9 ndi: Simplify code using ParamSpecBuilder 2022-10-12 21:29:07 +03:00
Vivia Nikolaidou 77a5e35081 ndi: Update to git version of the bindings 2022-10-12 21:29:07 +03:00
Vivia Nikolaidou 18cbb587ba ndisrcdemux: Add no-more-pads signal
Emit no-more-pads if we are adding the second pad of the element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge 1c43a51520 ndisrcdemux: Use ANY caps in the pad templates of ndisrcdemux
When using the Advanced SDK it is possible to output compressed formats
too.
2022-10-12 21:29:07 +03:00
Sebastian Dröge 26f843a89f ndisrc: Fix latency reporting in auto timestamp mode 2022-10-12 21:29:07 +03:00
Sebastian Dröge 9c10ba87df ndisrc: Improve handling of broken sources with regards to timestamping
- NDI HX Camera Android in the past used 1ns instead of 100ns as unit
   for timecodes/timestamps.
 - NDI HX Camera iOS uses 0 for all timecodes and the same non-zero
   value for all audio timestamps

Detect such situations and try to compensate for them. Also add a new
"auto" timestamping mode that prefers to use timecodes and otherwise
falls back to timestamps or receive times.

Fixes https://github.com/teltek/gst-plugin-ndi/issues/79
2022-10-12 21:29:07 +03:00
Sebastian Dröge a3c752830b ndisrc: Keep track of audio/video and timestamp/timecode observations separately
Audio/video are in practice not always from the same clock and can have
different behaviours with regards to clock rate and jitter. Handling
them separately generally gives better results for the timestamps output
by the source element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge b82acb9ca9 ndisrc: Remove unnecessary Arc around the timestamp observations and use AtomicRefCell instead of Mutex 2022-10-12 21:29:07 +03:00
Sebastian Dröge 718734ab18 ndi: Fix/silence various clippy warnings 2022-10-12 21:29:07 +03:00
Sebastian Dröge 7a90500fe7 Merge branch 'master' of https://github.com/teltek/gst-plugin-ndi 2022-10-12 21:27:56 +03:00
Sebastian Dröge e49138516c Update for pad default functions API changes 2022-10-12 19:50:15 +03:00
Sebastian Dröge 9c540d8abb Move everything to net/ndi for preparing to merge into gst-plugins-rs 2022-10-12 19:25:32 +03:00
François Laignel bc5b51687d fix formatted values constructors
In restrospect, building formatted values using operations on the
`ONE` constant doesn't seem idiomatic. This commit uses new panicking
constructors instead.

See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1122
2022-10-11 15:06:53 +02:00
François Laignel bd14e476f1 Fix direct access to the inner specific formatted values
This is no longer available as this could lead to building a defined
value in Rust which could be interpreted as undefined in C due to
the sentinel `u64::MAX` for `None`.

Use the constants (e.g. `ONE`, `K`, `M`, ...) and operations to build
a value and deref (`*`) to get the quantity as an integer.
2022-10-10 19:28:13 +02:00
Sebastian Dröge 7ee4afacf4 Change *Impl trait methods to only take &self and not Self::Type in addition 2022-10-10 15:03:25 +03:00
Sebastian Dröge 4c57a97d4d Update for glib::Object::new() API changes 2022-10-07 23:54:53 +03:00
Nirbheek Chauhan 1d4d3e4cb0 build: Update versions to be 0.9.0-alpha.1
0.9.0 is the next release, so we can't name things that already.

Also the version in meson.build was 0.13.0, which is completely wrong.
2022-10-04 21:27:23 +05:30
Sebastian Dröge 8601562efe onvif: Fix for gst::meta::CustomMeta::register() API change 2022-09-29 17:48:27 +03:00
Sebastian Dröge 0b81ed2e34 rtpav1: Use GStreamer types by namespace instead of importing dozens of types directly into the scope
For consistency with other plugins and to reduce confusion of where
types actually come from.
2022-09-28 08:14:07 +00:00
Sebastian Dröge 5774d9c9ee rtpav1: Reset state on FlushStop/Eos in all conditions and reset all of the state 2022-09-28 08:14:07 +00:00