Commit graph

159 commits

Author SHA1 Message Date
Thijs Vermeir
e4acf61af3 create plugin_register_static in plugin_define! 2018-11-04 20:24:20 +01:00
Thijs Vermeir
cee861f341 use BoolError for plugin registration 2018-11-04 20:24:20 +01:00
Sebastian Dröge
712ea76d7d Run everything through rustfmt again 2018-11-03 20:30:10 +02:00
Sebastian Dröge
97cc1c8458 Change all references from GitHub to freedesktop.org GitLab 2018-11-03 20:24:21 +02:00
Arun Raghavan
25501233ec Use FlowError instead of FlowReturn as error part of Result
This prevents the possibility of a Result that is an Err(Ok), which
would not be meaningful.
2018-10-29 19:15:38 +00:00
Arun Raghavan
20910b2415 Implement From instead of Into for FlowError -> FlowReturn
It is recommended to implement From as that is more flexible and
includes an implicit Into instance.
2018-10-28 12:07:19 +00:00
Sebastian Dröge
628f5099eb Run everything through latest rustfmt 2018-10-11 13:49:48 +03:00
Sebastian Dröge
f2deb2264b Fix various clippy warnings 2018-10-11 13:49:10 +03:00
Sebastian Dröge
5e55ed6b6c Add support for subclassing GstAggregator and GstAggregatorPad 2018-08-01 19:13:42 +03:00
Sebastian Dröge
bf63a823cd Use from_glib_borrow() for more vfunc parameters 2018-07-30 12:24:12 +03:00
Sebastian Dröge
d1f90d0fea Add support for implementing GstChildProxy 2018-07-30 12:20:56 +03:00
Sebastian Dröge
0826906704 Add support for subclassing ghost pads 2018-07-30 11:22:07 +03:00
Sebastian Dröge
484c5186cd Add support for subclassing pads 2018-07-30 11:15:29 +03:00
Sebastian Dröge
dcb3683232 Run everything through latest rustfmt 2018-07-27 13:35:58 +03:00
Sebastian Dröge
6e33313b78 Make use of downcast_ref() to prevent some clones 2018-07-12 08:35:09 +03:00
Sebastian Dröge
a9960f1fc0 Get rid of callback_guard! as unwinding through FFI is defined behaviour now and aborts 2018-06-24 14:56:11 +03:00
Thibault Saunier
25af5afb2b Move plugin-simpler::error code back to gst-plugin
Prepatory work to write element base class for decoders (which will be
outside of plugin-simple).
2018-05-13 13:53:18 +03:00
Sebastian Dröge
3703999895 Fix memory leak in ElementClass::add_pad_template()
It's taking the pad template as transfer-floating, not transfer-full.
2018-05-09 12:00:55 +03:00
Sebastian Dröge
2c0e7a9192 Update for gobject-subclass API changes 2018-05-04 13:58:02 +02:00
Sebastian Dröge
1f596d414d Use unsafe impl for the Instance trait impl 2018-05-02 13:48:03 +03:00
Sebastian Dröge
80793cd766 Move export/re-export cleanup 2018-05-01 17:43:52 +03:00
Sebastian Dröge
9559742e19 Clean up module exports/re-exports 2018-05-01 17:30:02 +03:00
Sebastian Dröge
51b21ef977 Cleanup up imports/macro_use 2018-05-01 17:25:49 +03:00
Sebastian Dröge
8bc3f12061 Run everything through rustfmt again 2018-05-01 17:16:12 +03:00
Dirk Van Haerenborgh
31a48c4baa Split out base object traits
This allows using this independent from GStreamer for subclassing e.g.
GIO or GTK GObjects.

Fixes https://github.com/sdroege/gst-plugin-rs/issues/28
Fixes https://github.com/sdroege/gst-plugin-rs/pull/32
2018-05-01 17:11:18 +03:00
Sebastian Dröge
f2f18ebb27 Fix ElementImplExt::catch_panic_pad_function() to actually work 2018-04-05 12:16:09 +03:00
Sebastian Dröge
c7103765db Run everything through rustfmt again 2018-04-05 11:36:10 +03:00
Sebastian Dröge
40f243dfc3 Move catch_panic_pad_function() into a generic place for all element subclasses 2018-04-05 11:34:57 +03:00
Sebastian Dröge
7bffce7a6f Fix compilation with gobject-sys changes to use plain uints for bitflags 2018-04-04 17:32:46 +03:00
Sebastian Dröge
d25b5006cb Run everything through rustfmt again 2018-04-01 12:12:39 +03:00
Sebastian Dröge
3db1c92663 Use ptr::NonNull in various places 2018-04-01 12:12:27 +03:00
Sebastian Dröge
bcb4617856 Implement Send+Sync for all wrapper types 2018-03-06 22:50:27 +02:00
Sebastian Dröge
24e5c435a7 Revert "Remove callback guards"
This reverts commit 75248c7f07.

Callback guards are required since 1.24.1 again but probably not in 1.25
forwards.
2018-03-02 21:35:50 +02:00
Sebastian Dröge
da433f92af Run everything through latest rustfmt-nightly 2018-02-22 11:23:34 +01:00
Sebastian Dröge
75248c7f07 Remove callback guards
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 20:01:31 +02:00
Sebastian Dröge
a0a01f3013 Fix BaseSrc::unlock_stop() calling unlock(), and BaseSink 2018-02-12 17:44:33 +02:00
Sebastian Dröge
d98c666bd9 Catch panics during plugin initialization and log them 2018-01-18 18:54:15 +02:00
Sebastian Dröge
3f8adff757 Add BaseTransform::transform_ip_passthrough()
This is called with an immutable BufferRef if we're running in
passthrough mode and the element was configured to pass passthrough
buffers to transform_ip.

Previously we would've gotten a mutable reference, that then would fail
all mutable operations.
2018-01-15 10:35:18 +02:00
Sebastian Dröge
e7cd12bf8a Also update version in the plugin metadata to 1.8 2018-01-15 10:29:08 +02:00
Sebastian Dröge
b9f6d9dc34 Pass caps by reference to BaseTransform::transform_caps() 2018-01-03 17:49:46 +02:00
Sebastian Dröge
8a41656f40 Also the default BaseTransform::transform_caps() should not take the caps parameter owned 2018-01-03 17:48:59 +02:00
Sebastian Dröge
43d38d0951 Caps in BaseTransform::transform_caps() are not owned 2018-01-02 19:28:43 +02:00
Sebastian Dröge
3fe6e1ab18 Add support for adding signals/action-signals 2017-12-20 22:22:19 +02:00
Sebastian Dröge
c1ca7902f1 Don't panic when getting a property failed 2017-12-20 21:57:25 +02:00
Sebastian Dröge
bda421d218 Move more things into gst-plugin-simple 2017-12-20 21:53:43 +02:00
Sebastian Dröge
22c5f93d3b Fix various clippy warnings 2017-12-20 21:36:50 +02:00
Sebastian Dröge
07ce2d64b8 Use the Into trait instead of custom into_*() functions 2017-12-20 20:13:31 +02:00
Sebastian Dröge
80a2c5033f Use ErrorMessage from gstreamer bindings 2017-12-20 20:05:04 +02:00
Sebastian Dröge
cbfb30c7b5 Run everything through rustfmt again 2017-12-20 19:30:32 +02:00
Sebastian Dröge
8e1428c047 Implement Error/Display for AdapterError 2017-12-20 19:18:32 +02:00