Commit graph

2858 commits

Author SHA1 Message Date
François Laignel
67c5871957 fix-getters-calls 0.3.0 pass 2021-04-20 18:19:58 +02:00
François Laignel
27bc5c89ca fix-getters-def 0.3.0 pass 2021-04-20 18:19:58 +02:00
Antonio Larrosa
e0b577fe1d csound: Fix cast to f64 so it builds in i586
For some reason (compiler bug?), the rust compiler fails to compare u32 and f64 types
when doing a wildcard cast on i586 with the following error:

error[E0282]: type annotations needed
   --> audio/csound/src/filter/imp.rs:611:47
    |
611 |         if rate != out_info.rate() || rate != csound.get_sample_rate() as _ {
    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
    |
    = note: type must be known at this point

Using an explicit cast solves the issue.
2021-04-20 12:26:12 +00:00
Mathieu Duponchelle
61214b5788 tttocea608: only warn when we do drop characters
In roll-up mode, we drop out of the loop and warn when the 32nd
character is reached, the warning is unnecessary when there were
no characters left to loop on.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/499>
2021-04-16 21:16:46 +02:00
Guillaume Desmottes
b92360db37 ci: add coverage job
Uses the new llvm source-base coverage from nightly to generate coverage
reports:
- full html report as artifact
- cobertura report for gitlab MR integration
- output coverage summary for gitlab parsing

Here is the regexp to set in gitlab as "Test coverage parsing":
\s*lines\.*:\s*([\d\.]+%)

Resources:
- https://github.com/marco-c/rust-code-coverage-sample
- https://github.com/mozilla/grcov/issues/468#issuecomment-691615245
- https://www.greycastle.se/how-to-show-flutter-test-coverage-in-gitlab-ci/
2021-04-16 13:10:32 +00:00
Guillaume Desmottes
70d3eecbc5 meson: fix copy of build artifacts
Latest version of cargo-c and cargo are now producing files to
'build/target/x86_64-unknown-linux-gnu/debug/' instead of 'build/target/debug/'.
Fix this by making the glob pattern recursive.
2021-04-16 14:25:02 +02:00
Mathieu Duponchelle
f95b5ee666 closedcaption/caption.c: fix deletion
Trying to write "" in order to erase characters in the caption
frame simply fails silently, the proper way to implement
delete_to_end_of_row and backspace was to memset the relevant
cells.
2021-04-15 14:35:22 +00:00
Arun Raghavan
8d0d438615 rusoto: Update README
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/495>
2021-04-14 15:31:23 -04:00
François Laignel
c81213b83c clippy pass 2021-04-13 17:24:20 +02:00
François Laignel
e573f0ba16 fallbackswitch: update base/aggregator* 2021-04-13 17:24:20 +02:00
François Laignel
7d17f88941 post fix-getters manual updates 2021-04-13 17:24:20 +02:00
François Laignel
06accc8d98 fix-getters-{def,calls} pass 2021-04-12 15:57:19 +02:00
Sebastian Dröge
c3fb55f235 examples: gtk::Application::new() is not fallible anymore 2021-04-12 11:53:40 +03:00
Sebastian Dröge
5be7ebd480 deny: Update 2021-04-09 09:38:36 +03:00
Sebastian Dröge
2bd4fc4728 examples: Update for gio::Application::run() API simplification 2021-04-08 07:37:25 +00:00
Seungha Yang
3dda2aebe9 closedcaption: Fix build with MSVC
Undefined ssize_t is used in eia608.h file as well
2021-04-01 05:13:24 +00:00
Sebastian Dröge
195f22c2e3 ebur128level: Use an atomic bool for the resetting and check on every iteration
Instead of checking it only once per buffer.
2021-03-28 18:47:07 +03:00
Sebastian Dröge
81f9d334e8 audiofx: Use AtomicRefCell for protecting the element state
It's only accessed from the streaming thread and in PAUSED->READY after
the streaming thread was shut down, so it's already guaranteed that only
a single thread can access it at any time.
2021-03-26 21:25:23 +02:00
Sebastian Dröge
65d625a4eb audiofx: Add new ebur128level element
This posts a message with the measured loudness levels similar to the
level element but uses the metrics defined as part of EBU R128.
2021-03-26 21:25:23 +02:00
Sebastian Dröge
bb8931c39b closedcaption: Don't needlessly create a full-range subslice of a slice 2021-03-25 22:59:14 +02:00
Sebastian Dröge
9acacbb320 ci: Allow clippy::upper_case_acronyms
That would otherwise change a lot of API in confusing ways, e.g. RTSP -> Rtsp
and would be inconsistent with the naming in C.
2021-03-25 21:12:05 +02:00
Sebastian Dröge
5e89d345d8 sodium: Pass &Path instead of &PathBuf 2021-03-25 20:26:15 +02:00
Sebastian Dröge
f8adb42f7b json: Don't needlessly create a full-range subslice of a slice 2021-03-25 19:44:56 +02:00
Sebastian Dröge
9d359d9341 ci: Update to dav1d 0.8.2 2021-03-25 18:20:05 +02:00
Sebastian Dröge
3a9a937bfd Add license files to all new plugins 2021-03-22 20:10:29 +02:00
Sebastian Dröge
b919d226b1 threadshare: Update to socket2 0.4 2021-03-21 12:57:10 +02:00
Mathieu Duponchelle
d9e727050c video: implement webp decoder around libwebp-sys2 crate
Unlike webpdec from -bad, this element inherits from GstElement
and can decode animated webp data.
2021-03-20 10:53:20 +02:00
Matthew Waters
359c07203e gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
2021-03-19 17:24:25 +11:00
Mathieu Duponchelle
a500166082 cea608overlay: remove debug prints
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480>
2021-03-17 14:22:00 +01:00
Mathieu Duponchelle
0335893559 closedcaption: implement cea608tojson element
This element outputs the same format expected by tttocea608 in
json mode.

It notably differs from cea608tott in that it only uses libcaption's
low-level API, as it needs to maintain its own view of the current
state of the screen, and make fine-grained decisions as to when
to output data and how to timestamp it.

It covers a large portion of the 608 spec, with the exception of
a few features that probably haven't ever seen widespread usage,
those are listed in a TODO list at the top.

It has been tested with a reference file produced by CEA and covers
all the features it demonstrates.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480>
2021-03-17 14:22:00 +01:00
Pablo Nieto
50548c8e6a
Merge pull request #55 from sdroege/sink
Add initial version of NDI sink
2021-03-15 13:01:43 +01:00
Mathieu Duponchelle
11238579a5 tttocea608: pad immediately for the duration of the input buffer
Pushing the pending padding once we receive the following gap
or buffer means we will push it too late otherwise.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/480>
2021-03-12 11:20:44 +01:00
Sebastian Dröge
b57c50bdb9 deny: Update 2021-03-10 11:07:39 +02:00
Sebastian Dröge
2cada57efc Update for the subclassing glib/gstreamer bindings API changes 2021-03-09 17:07:13 +02:00
Sebastian Dröge
aa354058f5 Update pretty-assertions to 0.7, async-tungstenite to 0.13 and num-rational to 0.4
Also get rid of the funty workaround as nom now depends on the right
version.
2021-03-09 11:42:33 +02:00
Sebastian Dröge
39a75632c8 threadshare: Update for glib subclass API cleanups 2021-03-08 12:50:03 +02:00
Sebastian Dröge
9721b3e762 fallbackswitch: Update bundled aggregator bindings with glib subclass API cleanups 2021-03-08 12:43:05 +02:00
Sebastian Dröge
dc0c5f7611 Update for new #[glib::object_subclass] attribute macro 2021-03-07 18:27:00 +02:00
Sebastian Dröge
2345c455c1 Add initial version of NDI sink
The sink can accept audio or video directly, or if both should be
provided at once it is necesary to use the ndisinkcombiner before the
ndisink to merge both audio and video into the same stream.

Fixes https://github.com/teltek/gst-plugin-ndi/issues/10
2021-02-26 11:00:23 +02:00
Sebastian Dröge
e7b3b87757 Add safe bindings for the send API
Including creation of frames from GStreamer buffers.
2021-02-26 11:00:23 +02:00
Luke Moscrop
83962cbb8c Add FFI bindings for NDIlib_send_instance_t and related functions 2021-02-26 11:00:23 +02:00
Sebastian Dröge
84e4fe7f59 Add new timestamp mode based on the receive time and timecode
In addition to the old one based on the receive time and timestamp.

Also make that new mode the default as it will usually give more
accurate results because the timestamp is just the send time while the
timecode is usually set by the sender based on the media timestamps.
2021-02-26 11:00:23 +02:00
Samuel Alonso Rodriguez
a02fe56871
Merge pull request #54 from sdroege/cleanups
Various minor cleanups
2021-02-26 09:37:16 +01:00
Sebastian Dröge
5dd0a23986 threadshare: Update for glib::Type API changes 2021-02-25 13:12:12 +02:00
Sebastian Dröge
4e93604fe9 Fix various clippy warnings 2021-02-23 12:46:27 +02:00
Sebastian Dröge
bb1e1b1529 Use glib GEnum derive macro instead of implementing this manually 2021-02-23 12:40:28 +02:00
Sebastian Dröge
0aef5152a7 Simplify code for Rust 2018 a bit 2021-02-23 12:37:24 +02:00
Sebastian Dröge
eee4a65d19 Update to byte-slice-cast 1.0 and switch from lazy_static to once_cell 2021-02-23 12:29:04 +02:00
Sebastian Dröge
0616c18703 Update for changed GLib signals API 2021-02-22 17:20:40 +02:00
Mathieu Duponchelle
7c61fd9e7a awstranscriber: add vocabulary property
AWS offers the option of creating "vocabularies", lists of words
that are likely to be encountered. Those can be created through
the AWS console, and are given a name. That name can then be
specified when starting a transcription job.
2021-02-19 21:54:08 +01:00