Commit graph

276 commits

Author SHA1 Message Date
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
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
714301d584 Don't require GStreamer 1.10
We're working just fine with 1.8 too
2018-01-15 09:34:53 +02:00
Sebastian Dröge
20743b29c0 Add gst-plugin-tutorial sub-crate and rgb2gray element 2018-01-13 20:12:37 +02:00
Sebastian Dröge
fc5e2ae03a Update CHANGELOG.md for 0.1.2 2018-01-03 17:51:15 +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
8df8b68555 Update CHANGELOG.md for 0.1.1 2018-01-03 17:13:26 +02:00
Sebastian Dröge
3aa3d826c3 Add CHANGELOG.md to gst-plugin 2018-01-03 17:13:17 +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
3181631bb7 audioecho: Minor cleanup and move code to the right place
And move rejection of max-delay changes when we're started from the
property getter to the setter where it should be. We can always *get*
the current value, just not set it.
2018-01-02 19:28:43 +02:00
Aleksey Ivanov
67edf375f3 [Close #24] Update repository link 2017-12-22 23:39:22 +02:00
Sebastian Dröge
09ffbb3872 Use gst_element_error!() instead of Element::post_error_message(&gst_error_msg!(...)) 2017-12-22 20:42:32 +02:00
Sebastian Dröge
000da42b5c Fix documentation URL 2017-12-22 16:29:51 +02:00
Sebastian Dröge
2decd553d7 Update README.md and include it in the gst-plugin crate too 2017-12-22 15:56:48 +02:00
Sebastian Dröge
723409e05a Update gst-plugin Cargo.toml with lots of metadata 2017-12-22 15:41:24 +02:00
Sebastian Dröge
003c5b4275 Mention that gst-plugin-togglerecord is LGPL in README.md 2017-12-22 15:37:36 +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
Sebastian Dröge
a99522150b Remove unused utils module 2017-12-20 19:16:14 +02:00
Sebastian Dröge
8ef6a1830c Fix build of togglerecord unit test 2017-12-16 18:26:12 +02:00
Sebastian Dröge
2ec85ac0b0 Run everything through rustfmt again 2017-12-16 17:42:42 +02:00
Sebastian Dröge
841252c5f7 Fix compilation after gstreamer-rs API changes 2017-12-16 17:42:32 +02:00
Sebastian Dröge
607cd154b8 Update for simplified force-keyunit event API 2017-12-10 22:45:06 +02:00
Sebastian Dröge
73d0615f10 Send force-keyunit events later
We must not unlock the main stream's mutex until everything is handled
correctly, otherwise the other streams might continue in an inconsistent
state.

As a side-effect, this will only ever request a keyframe if there
currently isn't one.
2017-12-10 13:18:43 +02:00
Sebastian Dröge
86d1676a67 Request a keyframe whenever we're going to wait for a keyframe 2017-12-10 12:38:18 +02:00
Sebastian Dröge
9250ca4ccc Improve togglerecord example UI a bit 2017-12-10 12:38:18 +02:00
Sebastian Dröge
c6800e8a26 Fixes/simplifications for GStreamer API changes 2017-12-09 19:41:54 +02:00
Sebastian Dröge
63380e023a Add read-only "recording" property to togglerecord
This signals whether we are actually recording currently or not.
2017-12-06 14:21:12 +02:00
Sebastian Dröge
8873821340 Fix build after gstreamer-rs API changes 2017-12-05 23:34:01 +02:00
Sebastian Dröge
39b4d89790 The either crate is only a dependency for the togglerecord test 2017-12-05 19:30:23 +02:00
Sebastian Dröge
b25309a66a Add gst-plugin-togglerecord 2017-12-05 09:56:58 +02:00
Sebastian Dröge
cea5d4d03e Require fallback value in Element::catch_panic() to be given as closure 2017-12-04 21:49:27 +02:00
Sebastian Dröge
ac09ae7d73 Never fail downwards state changes
This causes bugs in GStreamer and leads to crashes and deadlocks
2017-12-04 21:45:03 +02:00
Sebastian Dröge
083371866a Add helper function that allows to catch panics and poison the element 2017-12-04 21:30:10 +02:00