Commit graph

11 commits

Author SHA1 Message Date
Mathieu Duponchelle
77bf0c945e text: new element for text processing: regex
The element expects an array of "commands", as GstStructures,
in the form:

operation, pattern=<pattern>, ...

The only operation implemented for now is replace-all, eg:

replace-all, pattern=foo, replacement=bar

Other operations can be implemented if useful in the future,
eg. "match" could post a message to the bus when the pattern
is encountered.

The main use case for this is automatic speech recognition,
as implemented by eg awstranscribe as users may want to replace
swear words with tamer language.

Commands are applied in order.

The interface is usable through the CLI with the usual escaping
strategies, though trying to pass in actual regular expressions
through it is a bit tricky, as this introduces yet another
level of escaping.
2021-02-19 15:58:14 +01:00
Mathieu Duponchelle
b062f63ec3 Add new text/json crate
This new crate consists of two elements, jsongstenc and jsongstparse

Both these elements can deal with an ndjson based format, consisting
for now of two item types: "Buffer" and "Header"

eg:

{"Header":{"format":"foobar"}}
{"Buffer":{"pts":0,"duration":43,"data":{"foo":"bar"}}}

jsongstparse will interpret this by first sending caps
application/x-json, format=foobar, then a buffer containing
{"foo":"bar"}, timestamped as required.

Elements further downstream can then interpret the data further.

jsongstenc will simply perform the reverse operation.
2021-01-20 02:29:19 +01:00
Guillaume Desmottes
595616fe2d ci: install cargo-c to proper location
Need to define CARGO_HOME so it's installed to the same places as the
rest of the Rust tools.
2021-01-04 16:04:52 +01:00
Guillaume Desmottes
fdc3ea68e8 ci: test linking on all static plugins
Will ensure that our static libraries and pkg-config files are properly
generated.
2021-01-04 12:26:45 +01:00
Guillaume Desmottes
9167e5e561 ci: factor out iterate_plugins()
Will be re-used for another test.

Also explicitly list the 'rs' prefixed plugins.
2021-01-04 12:26:45 +01:00
Sebastian Dröge
0f4383a8a0 ci: Update to dav1d 0.8.0 2020-12-31 17:28:04 +02:00
Guillaume Desmottes
d921ee2245 ci: check if all plugins are installed with meson
Will prevent us to forget adding new plugins to meson.
2020-11-19 09:23:52 +01:00
Sebastian Dröge
7255c1d204 ci: set -e in all shell scripts
Otherwise errors are silently ignored.
2020-07-28 09:47:44 +03:00
Sebastian Dröge
04e98f9306 ci: Update CI image for dav1d 0.7.1 2020-07-28 09:47:00 +03:00
Guillaume Desmottes
9efe4168b7 ci: install dav1d when generating image
Save us from using the static version when building the crate.
2020-04-28 14:21:01 +02:00
Guillaume Desmottes
54586c6ecc ci: use fdo template
Build our own images based on the ones used by gstreamer-rs ci.

Fix #109

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/321>
2020-04-27 12:19:08 +02:00