Sebastian Dröge
8d30bcbf4b
Use IntoGlibPtr
trait instead of to_glib_full()
where appropriate to reduce unnecessary refcounting/copying
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
567ce0a3bf
Group and merge imports in all manual code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
6ff5f89832
gstreamer: Fix memory leak in buffer pool subclassing test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
0ed3d95c60
gstreamer: Use glib::StrV
internally instead of a custom version of it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
e3ad1918dc
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1164 >
2022-12-13 11:29:45 +02:00
Sebastian Dröge
5a0152b469
gstreamer: tracer: Pass &QueryRef
instead of &Query
to the functions
...
To make it impossible for implementor to keep around a reference to the
query as that would break element code that actually tries to answer the
query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1152 >
2022-11-21 12:40:37 +02:00
Elie Génard
f1c8869447
gstreamer: Add gst::Allocator
subclassing support
2022-11-08 19:28:42 +00:00
Sebastian Dröge
90b8ee2022
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:06:44 +03:00
François Laignel
0e5a4f05f8
gst: fix Element::request_new_pad
signature
...
See:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1133#note_1600152
2022-10-21 11:30:02 +02:00
Sebastian Dröge
7423b1dea6
elementfactory: Change make()
/ create()
to builders and keep the old variants as create_with_name()
/ make_with_name()
...
As a side-effect, this also now includes the element factory name in the
error messages instead of giving the same error string for every
factory.
Partially fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/318
Also let them all go through the same, single object construction code.
2022-10-19 17:48:39 +03:00
Sebastian Dröge
7bd4d770ff
gstreamer: Remove unnecessary trait bounds
2022-10-10 15:01:07 +03:00
Sebastian Dröge
f17781e188
Change *Impl trait methods to only take &self and not Self::Type in addition
2022-10-10 15:01:07 +03:00
Sebastian Dröge
25c53c4276
gstreamer: Implement new logging variants that work ObjectSubclass
values
2022-10-10 15:01:07 +03:00
Sebastian Dröge
dac3cf67f4
Update for additional translation trait impls in gtk-rs-core
2022-10-08 15:35:37 +03:00
Sebastian Dröge
3cd902513d
Update for glib::Object::new() API changes
2022-10-07 21:45:01 +03:00
Sebastian Dröge
c64b6ac68b
tracer: Use Results instead of plain success/failure enums
...
This makes it more convenient to handle the success/failure cases in
tracer implementations and is more consistent.
2022-10-02 10:45:14 +03:00
Sebastian Dröge
ade0aad6b0
tracer: Make buffer in pull-range-post function optional
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/410
2022-10-02 10:36:05 +03:00
Sebastian Dröge
1b10c5324d
gstreamer: Add BinImpl::do_latency()
2022-09-16 06:54:55 +00:00
Sebastian Dröge
65629426cb
tracer: Add bindings for new pad chain hooks
2022-06-30 08:46:06 +03:00
Sebastian Dröge
c61d913ec6
tracer: Add support for the 1.20 "plugin-feature-loaded" hook
2022-06-29 10:13:59 +03:00
Sebastian Dröge
9e77ab3212
tracer: Re-order trait functions slightly for the order to make more sense
2022-06-29 10:13:36 +03:00
Guillaume Gomez
c1d3ed5eac
Use IntoGlibPtr trait instead of implementing into_ptr
2022-05-07 13:38:11 +02:00
Jan Alexander Steffens (heftig)
7d2ab1450e
gstreamer: Export subclass::TaskPoolFunction
...
This must be accessible in order to subclass TaskPool.
2022-04-07 17:57:59 +00:00
Sebastian Dröge
4651c9db4d
Update minimum supported version to 1.14
...
This is the version that is available in Ubuntu 18.04.
2022-04-07 12:45:47 +03:00
Jan Alexander Steffens (heftig)
b7afdd4dd0
gstreamer: Add TaskPool bindings and subclassing
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/14
2022-03-30 23:01:21 +02:00
Sebastian Dröge
12f1483d43
gstreamer: Create plugins with version 1.21 if v1_22 is selected
2022-03-17 11:06:26 +02:00
Sebastian Dröge
0f22eb7633
Remove now unnecessary Send+Sync
impls for element/etc subclasses
...
This is now automatically implemented.
2022-02-28 18:25:15 +02:00
François Laignel
972c4e75ac
remove gst_ prefix for log macros
...
It's quite quite common to use similar macros in the form `log::debug!`
or `glib::clone!`. This MR renames the gst log macros so that we can
`gst::debug!` instead of `gst_debug!` and whithout the need for
`use gst::gst_debug`.
2022-02-21 18:56:06 +01:00
Marijn Suijten
462e19dee9
gstreamer/plugin_1_14: Use minor version 20 instead of 19 for v1_20
...
Now that gstreamer 1.20 is out all v1_20 plugins will be linked against
the 1.20 stable release, not the unstable 1.19 development release.
2022-02-18 11:33:17 +01:00
Christian Meissl
033dac2270
support for subclassing buffer pool
2022-02-08 15:59:55 +01:00
Sebastian Dröge
8fa1076dfa
Replace Foo::from_instance(foo)
with foo.imp()
2022-01-17 19:34:06 +02:00
Sebastian Dröge
bbcd221e8d
Change from impl_() to imp()
2021-12-28 17:50:06 +02:00
Sebastian Dröge
0b544ffbd3
Simplify glib::IsImplementable
trait implementations
2021-11-15 11:48:14 +02:00
Bilal Elmoussaoui
213020165a
manual changes post ObjectExt improvements
2021-11-08 14:42:59 +01:00
Sebastian Dröge
92f9f3be39
Remove various unnecessary & from property/structure field related code
2021-10-24 20:52:23 +03:00
Sebastian Dröge
7f0ca0011c
Add gst::GstObjectImpl, gst::ProxyPadImpl, gst_audio::AudioBaseSrc, gst_audio::AudioBaseSink subclassing traits
...
These were missing from the type hierarchy previously and are now
required because of more strict checks in the GLib bindings.
2021-10-23 11:59:03 +03:00
Sebastian Dröge
12fec484c7
Simplify IsSubclassable trait impls
2021-10-23 11:27:46 +03:00
Sebastian Dröge
1856d47a06
gstreamer: Add bindings to MiniObject together with casting functionality
...
This is only possible with 1.20 because gst_mini_object_get_type() was
added then. Previous versions only provide bindings for the specific
types, like Caps, Event, etc.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/353
2021-09-19 13:12:58 +00:00
Sebastian Dröge
6b4f6ca45c
gstreamer/device_provider: Add constructor for device provider metadata
2021-09-13 11:34:00 +03:00
Simonas Kazlauskas
db30c121a0
const ElementMetadata constructor
...
The usual use of this will be through the `ElementImpl::metadata`
method, which requires a `&'static` reference to `ElementMetadata` to be
returned, so we better make it easy to construct these (without forcing
people to resort to `Lazy`'n'stuff)
2021-08-31 09:10:31 +00:00
Jordan Petridis
2ded2837ba
tracer: add rustdoc-stripper-ignore-next annotations
2021-08-16 18:49:23 +03:00
Simonas Kazlauskas
cb475e0965
Bindings to GstTracer and GstTracerFactory
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/147
2021-08-16 14:38:22 +03:00
Simonas Kazlauskas
3ad9d3340b
Make plugin date-time optional
...
It is described as optional in
https://gstreamer.freedesktop.org/documentation/gstreamer/gstplugin.html?gi-language=c#GstPluginDesc
and is also pretty difficult to provide for Rust plugins, I feel. For C
stuff the expectation is that build system would set something like
GST_PACKAGE_RELEASE_DATETIME=`date -u "+%Y-%m-%dT%H:%MZ"` which is
terrible.
2021-08-10 17:38:55 +03:00
Sebastian Dröge
b1afc4804a
Fix various needless-borrow clippy warnings
2021-07-30 13:19:24 +03:00
Olivier Crête
93c794b338
subclass: Declare minimum to be 1.19 for v1_20
2021-07-13 08:42:56 +03:00
Sebastian Dröge
a94d84e780
Silence/fix various clippy warnings
2021-06-20 10:59:49 +03:00
François Laignel
e31ce9d07b
Manual ClockTime updates
2021-06-04 22:09:38 +02:00
François Laignel
90bb458e64
Rework ClockTime & FormattedValues
2021-06-04 22:09:38 +02:00
François Laignel
8dda8def6e
Manual try_from_glib shortcuts + unsafe
2021-06-04 22:09:38 +02:00
Sebastian Dröge
11a85449e7
gstreamer/uri_handler: Only assign to GError**
s if they're not NULL
2021-05-15 10:41:34 +03:00