Commit graph

1234 commits

Author SHA1 Message Date
Sebastian Dröge
089abdb5d4 Add capi feature to all plugin crates
This fixes the build with cargo-c 0.9.2.
2021-08-12 12:06:30 +03:00
Sebastian Dröge
39c1d4dd21 closedcaption/mccenc: Fix unit test again 2021-08-10 08:23:26 +03:00
Sebastian Dröge
b345f18570 json: Add cargo-c metadata 2021-08-05 18:13:43 +03:00
Sebastian Dröge
0af7a0c913 Update versions to 0.7.1 2021-08-05 18:12:54 +03:00
Sebastian Dröge
ca96097d2c Update Cargo.lock 2021-08-05 17:30:36 +03:00
Mathieu Duponchelle
198301c2ed fallbackswitch: only drop MISSING_DATA gap events pre queue
Regular gap events can be output by sources such as cefsrc in
normal operation, and should not trigger an active pad change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/538>
2021-08-05 15:57:56 +03:00
Mathieu Duponchelle
2092059f71 tttocea608: clean up locking
Locking order of state and settings was inconsistent, and causing
deadlocks. Fix and document it, consistently drop locks before
chaining up events / pushing and avoid sequentially unlocking /
relocking settings in the same local code path.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/539>
2021-08-05 15:57:56 +03:00
Stephan Seitz
15478e6af4 Fix typo in tutorial for identity plugin 2021-08-05 15:57:56 +03:00
Stephan Seitz
0556d1159f Fix typo in tutorial/src/lib: metdata -> metadata
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/537>
2021-08-05 15:57:56 +03:00
Sebastian Dröge
3ccb28ba23 reqwest: Switch from hyperx to headers
The maintainer of hyperx has kind of special opinions and doesn't want
to play well with the rest of the ecosystem, see
https://github.com/dekellum/hyperx/pull/33 .

This currently causes cargo outdated to fail because of suboptimal
dependencies.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/159
2021-08-05 15:57:56 +03:00
Sebastian Dröge
b60805efcc reqwest: Require GStreamer 1.10 for the tests
They use `Element::call_async()`
2021-08-05 15:57:56 +03:00
Mathieu Duponchelle
bf24909703 aws_transcriber: expose lateness property
The default behavior for the transcriber is to output text buffers
synchronized with the input stream, introducing a configurable
latency.

For use cases where synchronization is not crucial, but latency
is, the lateness property can be used instead of or in combination
with the latency property, in order to introduce a configurable
offset with the input stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/534>
2021-08-05 15:52:15 +03:00
Ruben Gonzalez
97e00df5a7 version-helper: Fix repository URL 2021-08-05 15:52:08 +03:00
Mathieu Duponchelle
c1e558c93c regex: don't hold state lock when pushing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/533>
2021-08-05 15:52:03 +03:00
Ruben Gonzalez
232f0eef96 Delete minimum GStremer required version for some plugins
Tested building the pluging with cargo-c and running gst-inspect-1.0
in a Ubuntu Xenial 18.04 LTS. It contains GStreamer 1.8.3.
2021-08-05 15:51:45 +03:00
Mathieu Duponchelle
1372ffe0e1 transcriberbin: remove leftover debug dot dumps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/531>
2021-08-05 15:50:01 +03:00
Sebastian Dröge
afdd000d92 Fix various needless-borrow clippy warnings and others 2021-08-05 14:43:08 +03:00
Sebastian Dröge
0821bbf614 Update Cargo.lock and don't update it automatically as part of the CI for the stable branch 2021-08-05 14:06:54 +03:00
Sebastian Dröge
3b9a680338 closedcaption/mccenc: Fix unit test
The expected output contains the plugin version.
2021-07-09 14:14:14 +03:00
Sebastian Dröge
b970267734 Fix gst-plugin-version-helper dependency in remaining plugins 2021-07-09 13:54:09 +03:00
Sebastian Dröge
ff5b7d6b4f Update Cargo.lock 2021-07-09 13:48:34 +03:00
Sebastian Dröge
2a15127368 Update gst-plugin-version-helper dependency with the correct version 2021-07-09 13:46:10 +03:00
Sebastian Dröge
2ac4f9896d Update versions to 0.7.0 2021-07-09 13:43:29 +03:00
Sebastian Dröge
fc229f7b46 gst-plugin-version-helper: Fix documentation 2021-07-09 13:40:02 +03:00
SeaDve
40d00fe133 gifenc: Add property to configure speed
Fixes #157.
2021-07-09 13:30:38 +03:00
Sebastian Dröge
c4c8e091c7 Add Cargo.lock to git for the release branch 2021-07-02 12:17:19 +03:00
Sebastian Dröge
686196f885 Update crate dependencies from git to released versions 2021-07-02 12:16:59 +03:00
Sebastian Dröge
167c73e569 gst-plugin-version-helper: Update repository URL 2021-07-02 12:14:30 +03:00
Mathieu Duponchelle
36b346e733 fallbacksrc: update-uri is not an action signal 2021-06-30 17:34:13 +02:00
Mathieu Duponchelle
d38a84ab79 fallbacksrc: add support for still images as primary
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515>
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
ef41adf776 fallbacksrc: implement manual unblocking feature
This enables a use case for preparing slow to start up sources
ahead of time in a live cueing system, where a stream is scheduled
to start at some point in the future, and the application wants to
make sure it is ready for prime time by that time, instead of
spinning it up at the last moment and waiting for the stream to
actually come up.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515>
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
29052b1acb fallbacksrc: implement send_event to forward EOS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515>
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
0b08f855c5 fallbacksrc: send EOS on fallback-only stream
When both audio and video are enabled, but the primary stream
only has either, when that stream ends we want to end the other
fallback-only stream as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515>
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
a5a80281f3 fallbackswitch: output buffers ASAP at startup
When only the backup pad is receiving buffers, and the primary
pad is a bit slow to start up (eg network source with buffering),
it makes for a better UX to output buffers from the backup pad
while waiting for the network source to make its move.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515>
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
3cdc5870a1 transcriberbin: new high-level bin for speech to Closed Caption
This new element puts together some of the elements we've written
in recent times (awstranscriber, tttocea608, textwrap, cccombiner)
into a convenience high-level element.

The design of the element is AV in -> AV (+ CC metas) out.

The element exposes property to set and unset a "passthrough" mode,
during which the transcriber element's state is set to NULL but kept
in the bin, in order for the user to be able to set properties on
sub elements no matter what the current mode is, using the
GstChildProxy interface.

In addition, the element ensures that the latency it reports stays
fixed so that playback continues uninterrupted.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/528>
2021-06-30 02:07:01 +02:00
Sebastian Dröge
3561c0ee98 gst-plugin-version-helper: Add missing 3 backticks to README.md 2021-06-29 00:24:53 +03:00
Sebastian Dröge
b5375d2f21 gst-plugin-version-helper: Add README.md and fix up docs 2021-06-29 00:23:09 +03:00
Mathieu Duponchelle
23219c3c09 tttocea608: don't pad up to first input timestamp
When receiving data from a live upstream element, the first buffer
may have a non-0 timestamp (running time), and the element incorrectly
pushed padding buffers up to that timestamp, resulting in much confusion

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/527>
2021-06-25 23:26:30 +00:00
Mathieu Duponchelle
9415c50200 awstranscriber: further decouple output from input
As awstranscriber might in theory push out gap events without
any flow of input data, it needs to send its mandatory events
(stream-start, caps, segment) independently.

In addition, track a start time and use it to offset the 0-based
timestamps returned by AWS in order to output buffers timestamped
in the running-time domain, and perform item timing adjustment
only when dequeuing, instead of when queuing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/525>
2021-06-26 00:46:28 +02:00
Mathieu Duponchelle
77c59f4f13 textwrap: switch accumulate-time property to uint64
and use 0 instead of -1 to disable accumulation. In practice 0
already had the same effect, and this lets us get rid of unsafe
code that actually breaks inspection of the element.
2021-06-23 16:33:07 +02:00
Arun Raghavan
3a2d16f00c rusoto: s3sink: Bring back bucket, key and region properties
We don't want to drop these entirely while introducing the URI handler,
as that would break backwards compatibility.
2021-06-21 06:58:06 -04:00
Sebastian Dröge
0592e46e65 ci: Update image version 2021-06-20 11:54:06 +03:00
Sebastian Dröge
94ae345701 ci: Update to dav1d 0.9.0 2021-06-20 11:54:06 +03:00
Mathieu Duponchelle
640ce43fee awstranscriber: make use of new result stability AWS API option
<https://aws.amazon.com/blogs/machine-learning/amazon-transcribe-now-supports-partial-results-stabilization-for-streaming-audio/>

Amazon seem to have realized the previous iteration of their API
made it difficult to identify items from one result to the next,
which made the element much more complicated than it should have
been. With that new "stability" option, we can enqueue items as
soon as they stabilize, and simply rely on the current index in
the transcript to output them exactly once.

This also means the "use_partial_results" is now useless, as there
will be no difference in accuracy between a non-partial result and
and of its stable items that might have been pushed from previous
partial versions of the result.

The property is removed, instead a new option is exposed to let
users control how fast results should stabilize.

This greatly simplifies the code, and also improves the output as
punctuation doesn't need to be randomly discarded anymore.
2021-06-19 14:45:22 +02:00
Mathieu Duponchelle
d6f6f1a777 cea608overlay: expose "black-background" property
As stated in the spec:

> In addition, the user must have the capability to select a black
> background over which the captioned letters are displaced.

The property is MUTABLE_PLAYING
2021-06-18 09:48:44 +00:00
Mathieu Duponchelle
d15e97efb8 awstranscriber: expose optional session-id property
When set, it can be used to identify transcription sessions
a posteriori.
2021-06-17 00:54:14 +02:00
Sebastian Dröge
ada328df01 deny: Update 2021-06-08 08:52:31 +03:00
François Laignel
5439f14e57 fix clippy warnings 2021-06-05 10:36:22 +02:00
François Laignel
8f8f5bdff7 Allow clippy::blocks-in-if-conditions
It rejects code such as:

```rust
    if state
        .start_ts
        .zip(accumulate_time)
        .map_or(false, |(start_ts, accumulate_time)| {
            start_ts + accumulate_time < pts
        })
```

because it looks like:

```rust
if { true }
```
2021-06-05 10:36:21 +02:00
François Laignel
e16cad7c8f video: migrate to new ClockTime design 2021-06-05 10:36:21 +02:00