Guillaume Desmottes
b5d5cf25fe
textahead: generate a buffer with ahead text at segment start
...
This is useful for karaoke use cases where the first text may appear
after a while but you want to already display the upcoming lyrics to
users.
2022-08-23 08:37:33 +02:00
Vivia Nikolaidou
5606111345
plugins: Simplify code using ParamSpecBuilder
2022-08-22 17:58:43 +03:00
François Laignel
5c5c15d36a
Simplify Formatted value handling
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 21:21:54 +02:00
Sebastian Dröge
51c7d0652e
Fix/silence a couple new clippy warnings
2022-06-30 16:07:32 +03:00
Sebastian Dröge
cb84206457
Fix a couple of new 1.62 clippy warnings
2022-06-28 14:52:20 +03:00
Sebastian Dröge
ce50a3003c
textahead: PadTemplate::caps()
returns a caps reference now
2022-05-08 13:31:10 +03:00
Sebastian Dröge
803e452889
Update minimum supported GStreamer version to 1.14
2022-04-07 12:41:54 +03:00
Sebastian Dröge
b38f6cc731
Remove now unnecessary Send+Sync
impls for element/etc subclasses
...
This is now automatically implemented.
2022-02-28 18:56:58 +02:00
Sebastian Dröge
2a4f9fbd54
textwrap: Update for textwrap 0.15 API changes
2022-02-28 09:05:07 +02:00
François Laignel
2cf84d5ce8
Update minimum supported Rust version to 1.57
2022-02-21 23:32:32 +01:00
François Laignel
422ea740ca
Update to gst::_log_macro_
...
See the details:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/980
2022-02-21 20:50:01 +01:00
Sebastian Dröge
f44b86cd30
Simplify some code around event/query views
2022-01-22 12:18:02 +02:00
Sebastian Dröge
65fcd55160
Update for event/message/query view API changes
2022-01-19 15:07:45 +02:00
Sebastian Dröge
763ad0cb18
Rename self_
variables to imp
for consistency
2022-01-17 20:09:18 +02:00
Sebastian Dröge
b2d0172422
Replace Foo::from_instance(foo)
with foo.imp()
2022-01-17 19:36:41 +02:00
Sebastian Dröge
326449b3e6
Re-license LGPL-2.1 plugins to MPL-2
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/168
2022-01-15 21:05:11 +02:00
Sebastian Dröge
0c7764fa40
Update versions to 0.9.0
2022-01-15 20:33:49 +02:00
Sebastian Dröge
ab14c50d1c
Ignore clippy::non_send_fields_in_send_ty
lint
...
It's useless in its current shape and wrongly triggering on all types.
See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-14 12:09:57 +02:00
Sebastian Dröge
81f5f0f60c
Fix various clippy warnings
2022-01-12 19:51:08 +02:00
Guillaume Desmottes
4576bea10c
add textahead plugin
...
Plugin displaying upcoming text buffers ahead.
2022-01-12 08:47:23 +01:00
Sebastian Dröge
c46901d150
Fix or silence various new 1.57 clippy warnings
2021-11-30 16:31:50 +02:00
Sebastian Dröge
55aad51141
Update for glib constructor renames
...
See https://github.com/gtk-rs/gtk-rs-core/pull/384
2021-11-20 14:31:06 +02:00
Bilal Elmoussaoui
82be7b3ac5
adapt to ObjectExt improvements
2021-11-08 14:43:53 +02:00
Sebastian Dröge
d9bda62a47
Update for GLib/GStreamer API changes
...
And clean up a lot of related property/caps/structure code.
2021-11-06 09:34:10 +02:00
Sebastian Dröge
0a7d1639e7
Update to Rust edition 2021 and minimum supported Rust version to 1.56
2021-10-31 17:40:05 +02:00
Sebastian Dröge
b9541b2ca4
Update for GstObjectImpl API change
2021-10-23 12:31:33 +03:00
Guillaume Desmottes
97f45a0f77
README: newer cargo-c can now take the workspace name
...
Easier to use than the manifest path.
2021-10-19 07:49:22 +00:00
François Laignel
27b9f0d868
Improve usability thanks to opt-ops
...
The crate option-operations simplifies usage when dealing with
`Option`s, which is often the case with `ClockTime`.
2021-10-18 15:09:47 +02:00
Sebastian Dröge
c5d3a2efce
Update for event API changes
2021-10-17 17:30:38 +03:00
Sebastian Dröge
7708b65e97
json: Replace line_reader.rs symlink with a copy for now
...
Windows doesn't handle symlinks very well.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/166
2021-09-22 16:38:58 +03:00
Sebastian Dröge
f4613bfc07
Use Buffer::from_mut_slice() in more places
...
This allows downstream to map the memory mutable.
2021-09-18 11:58:59 +03:00
Sebastian Dröge
96d86eaa06
Clean up clippy warnings and CI configuration
...
Put clippy overrides into the sources files instead of the CI
configuration, and fix various warnings / clean up code.
2021-09-08 12:35:41 +00:00
Sebastian Dröge
4a870af19c
Update various dependencies
2021-08-26 09:44:43 +03:00
Sebastian Dröge
848b296390
Add capi feature to all plugin crates
...
This fixes the build with cargo-c 0.9.2.
2021-08-11 20:51:36 +03:00
Sebastian Dröge
120f4ab84b
json: Add cargo-c metadata
2021-08-05 18:26:47 +03:00
Sebastian Dröge
052365ba1a
Fix various needless-borrow clippy warnings and others
2021-07-30 13:53:35 +03:00
Mathieu Duponchelle
1123648aae
regex: don't hold state lock when pushing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/533 >
2021-07-27 02:16:09 +02:00
Ruben Gonzalez
54d8c5f6a9
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-07-20 21:49:24 +02:00
Sebastian Dröge
24ec79cd1a
Update versions to 0.8.0 for the master branch
2021-07-09 13:49:33 +03:00
Sebastian Dröge
1c3ae0f89a
Update versions to 0.7.0
2021-07-09 13:49:21 +03: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
François Laignel
5439f14e57
fix clippy warnings
2021-06-05 10:36:22 +02:00
François Laignel
b8ad30610b
text: migrate to new ClockTime design
2021-06-05 10:36:21 +02:00
François Laignel
8dfc872544
use gst::glib where applicable
2021-06-03 20:53:16 +02:00
Sebastian Dröge
04a60b8f46
Update repository URL for gtk-rs "core" crates
2021-05-13 09:50:08 +03:00
Sebastian Dröge
5660df7f70
regex: Fix compilation after array ParamSpec constructor rename
2021-05-07 10:17:14 +03:00
Sebastian Dröge
15cf738616
Update for Value trait refactoring
2021-04-25 15:48:55 +03:00
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
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
f8adb42f7b
json: Don't needlessly create a full-range subslice of a slice
2021-03-25 19:44:56 +02:00
Sebastian Dröge
3a9a937bfd
Add license files to all new plugins
2021-03-22 20:10:29 +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
dc0c5f7611
Update for new #[glib::object_subclass] attribute macro
2021-03-07 18:27:00 +02:00
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
2cde437bee
textwrap: use accumulate-time as a latency
...
This slightly amends the semantic of the property: prior to that
commit it represented the interval since the last accumulated buffer
after which the current line(s) had to be output even if incomplete.
After this commit, it represents the interval between "now" and the
first accumulated buffer, making it possible to report a useful
latency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
75170e5162
textwrap: use the lines property in accumulate mode too
...
In that mode, textwrap accumulates and pushs out lines of text
up to accumulate-time. We can still make use of the lines property
in that mode, and accumulate as many lines of text as specified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Mathieu Duponchelle
ab251ec573
textwrap: do not insert spaces before punctuation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/474 >
2021-02-15 19:25:18 +00:00
Sebastian Dröge
cbda137fbf
Fix various warnings from clippy 1.50
2021-02-09 18:57:34 +02:00
Sebastian Dröge
b649e9b076
Use gst::PARAM_FLAG_MUTABLE_PLAYING and others consistently everywhere
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/139
2021-01-31 15:43:00 +02:00
Sebastian Dröge
d4ce1a33f2
Update for glib/gstreamer bindings API changes
2021-01-25 14:43:05 +02:00
Mathieu Duponchelle
cbf1266a8c
textwrap: expose accumulate-time property
...
In its standard mode, textwrap simply splits up text in chained
buffers into multiple lines / buffers, not keeping any state.
When accumulate-time is specified, multiple input buffers will be
wrapped together, outputting one-line buffers of text once a
sufficient width (specified by the columns property) is reached,
or the interval between two input buffers is greater than
accumulate-time.
This is useful to format the output of an element such as
awstranscribe, which outputs its transcription with one buffer
per word.
2021-01-20 02:29:19 +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
8bc2e5ebb8
use cargo-c to produce cdy and static libs
...
cargo-c will produce a pkg-config file making it easier to statically
link plugins.
Also add 'static' features for plugins depending on < 1.14 as this is the
minimal required version to use static linking because of ABI changes in
core.
2021-01-04 12:26:45 +01:00
Sebastian Dröge
514f6ea7ec
textwrap: Remove workaround that is not needed anymore with textwrap 0.13.2
2020-12-30 18:49:13 +02:00
Sebastian Dröge
3d617371af
Update for macro renames
2020-12-20 20:43:45 +02:00
Sebastian Dröge
ea6c05e16c
Update everything for glib macro renamings
2020-12-18 00:44:49 +02:00
Sebastian Dröge
b5796f5773
textwrap: Update to textwrap 0.13
2020-12-11 12:25:47 +02:00
Sebastian Dröge
810f27886b
text: Update to 2018 edition
2020-11-23 10:28:34 +02:00
Sebastian Dröge
d56ae71e0e
Update for ObjectImpl::get_property() being infallible now
2020-11-19 18:25:53 +02:00
Guillaume Desmottes
b9f8ce9995
meson: add support for static build
...
There is no way to dynamically ask Cargo to build static or dynamic lib
so we have to build both and pick the one we care when doing the meson
processing.
Fix #88
2020-11-16 15:30:32 +01:00
Sebastian Dröge
dbf108d9a4
text: Update for subclassing API changes
2020-11-15 18:25:42 +02:00
Sebastian Dröge
1f446f6b64
Switch to the combined gtk-rs and gstreamer-rs repositories
2020-11-01 10:24:57 +02:00
Sebastian Dröge
0eb777cf5a
Update for removal of ObjectImpl::get_type_data()
2020-07-26 18:46:32 +03:00
Sebastian Dröge
e9b61b733d
Add LICENSE files to each individual crate
2020-07-10 13:06:28 +03:00
Sebastian Dröge
d03c6cb26a
Update various dependencies
2020-06-30 10:49:27 +03:00
Sebastian Dröge
9bb3e75fb9
Update to use the new pad builders for safely setting pad functions
...
Only two uses of unsafely setting the pad functions is left:
- fallbacksrc for overriding the chain function of the proxy pad of a
ghost pad
- threadshare for overriding the pad functions after creationg, which
probably needs some fixing at some point
2020-06-22 11:28:19 +03:00
Sebastian Dröge
60321edb8c
Update for new_with_XXX/new_from_XXX function renaming
2020-06-16 11:56:48 +03:00
Guillaume Desmottes
e85799b9d6
use new constructor names
2020-06-11 13:07:01 +02:00
Sebastian Dröge
5a7fcfad7f
Fix various new clippy warnings with clippy 1.43
2020-04-24 13:55:01 +03:00
Mathieu Duponchelle
ea74d87510
textwrap: set PROXY_CAPS flag on pads
2020-04-17 21:53:50 +02:00
Mathieu Duponchelle
7701850586
Implement text wrapping element around the textwrap crate
2020-04-16 20:46:21 +02:00