Commit graph

466 commits

Author SHA1 Message Date
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
bdfc95e6e8 Get rid of send-cell dependency and fix reference cycles 2018-07-27 13:35:24 +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
b3089ca047 Use ObjectExt::notify() instead of the gobject-subclass variant 2018-07-11 16:12:10 +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
Sebastian Dröge
754373ba6c Update to byte-slice-cast 0.2 2018-06-01 12:02:32 +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
48ce43ce06 Update to muldiv 0.2 2018-05-11 10:37:34 +03:00
Sebastian Dröge
389e25ae03 Fix diff links in the CHANGELOG.md 2018-05-09 12:32:59 +03:00
Sebastian Dröge
57dc9451cc Update CHANGELOG.md for 0.2.1 2018-05-09 12:30:23 +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
88596f933f Update CHANGELOG.md for 0.2.0 2018-05-02 15:29:47 +03:00
Sebastian Dröge
318656ea9b Add api-bindings category to the crate 2018-05-02 14:12:39 +03:00
Sebastian Dröge
1f596d414d Use unsafe impl for the Instance trait impl 2018-05-02 13:48:03 +03:00
Sebastian Dröge
6803cb5fac Move gobject-subclass to its own repository 2018-05-01 17:55:27 +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
d74995ee7e remove Send+Sync requirement from object. Does not bode well with gtk 2018-05-01 17:16:07 +03:00
Dirk Van Haerenborgh
a401427a0c add Instance trait implementation for InstanceStruct 2018-05-01 17:11:18 +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
58c1762e7d Fix travis.yml 2018-03-20 14:00:53 +02:00
Sebastian Dröge
ceab3bae8a Update travis.yml for the new 1.14 paths 2018-03-20 13:48:31 +02:00
Sebastian Dröge
f3714f6fe7 Update CHANGELOG.md for 0.1.4 2018-03-20 13:18:37 +02: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
e7b12d87f9 Add second blog post about writing GStreamer elements to the README.md 2018-02-21 20:31:21 +01:00
Sebastian Dröge
17270741e7 Update to num-traits 0.2 2018-02-21 13:36:37 +01:00
Sebastian Dröge
94555afbf4 tutorials: Implement a sine wave source element 2018-02-18 21:38:51 +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
b7c06e0203 Fix build with improved Query API 2018-02-16 10:43:49 +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
2996eaf287 Add tutorial to README.md 2018-02-05 10:29:48 +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
9375503296 Update CHANGELOG.md for 0.1.3 2018-01-15 10:45:39 +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