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
Sebastian Dröge
b3725312c4
Update to lazy_static 1.0
2017-12-04 11:12:32 +02:00
Sebastian Dröge
2fb3952aa2
Element::request_new_pad() is (transfer none) in the return value
...
Which is effectively unsafe, but nothing we can do about that right now
without leaking all pads.
https://bugzilla.gnome.org/show_bug.cgi?id=791193
2017-12-04 11:08:16 +02:00
Sebastian Dröge
a271b18c09
Take ownership of any floating references in Bin::add/remove_element()
2017-11-27 17:26:43 +02:00
Sebastian Dröge
3f1eb96da9
Add support for creating Pipeline subclasses
2017-11-27 15:08:24 +02:00
Sebastian Dröge
b55a24c929
Add support for creating Bin subclasses
2017-11-27 15:08:24 +02:00
Sebastian Dröge
22ab56895d
Remove Rs prefix from everything
...
We have proper namespaces in Rust
2017-11-20 13:23:30 +02:00
Sebastian Dröge
656dc990f8
Require a get_type() function for boxed/object properties
...
Otherwise storing the properties in a static array is not possible
2017-11-20 12:30:21 +02:00
Sebastian Dröge
323bf3ea08
Update to latest gstreamer-rs master API changes
2017-11-11 13:02:55 +01:00
Sebastian Dröge
768b68f94a
Fix up Adapter's WouldBlock error message
...
With the correct values of requested and available bytes.
2017-11-06 23:25:09 +02:00
Thibault Saunier
9158c2c8e1
adapter: Implement the Read
trait
2017-11-06 11:51:04 +02:00
Sebastian Dröge
bf360ebce8
Fix typo in crate/repo name
2017-10-30 10:51:56 +02:00
Sebastian Dröge
d4138cb566
Update to reqwest 0.8
2017-10-25 14:58:41 +02:00
Sebastian Dröge
d8dbe8414c
Fixes for gstreamer-rs API changes
2017-10-21 10:06:28 +02:00
Sebastian Dröge
176e07bf0a
Move properties code to a separate file
2017-10-19 11:06:19 +02:00
Sebastian Dröge
83388c8322
audioecho: Don't unnecessarily mark variable as mutable
2017-10-19 11:06:01 +02:00
Sebastian Dröge
443abffa73
Run everything through latest rustfmt-nightly
2017-10-17 12:21:53 +03:00
Sebastian Dröge
4b97d56949
Fix compilation after GstRc<T>::get_mut() API fixes in gstreamer-rs
2017-10-12 18:03:06 +03:00
Sebastian Dröge
393cd6236a
Move simple Source/Sink/Demuxer traits to a separate crate
...
Fixes https://github.com/sdroege/gst-plugin-rs/issues/20
2017-10-11 13:32:44 +03:00
Sebastian Dröge
89b44e6081
Don't have to store the size of the slice twice
2017-10-07 13:14:18 +03:00
Sebastian Dröge
16b6d61e10
Improve release configuration a bit
2017-10-07 12:43:38 +03:00
Sebastian Dröge
7cf784a9fc
Some more RingBufferIterator cleanup
2017-10-07 11:38:35 +03:00
Sebastian Dröge
20f1666bc9
Run everything through rustfmt again
2017-10-07 05:01:04 +03:00
Sebastian Dröge
97ad0c0bc2
Simplify audioecho code a bit
2017-10-07 05:01:04 +03:00
Sebastian Dröge
80341fd90e
Add audiofx plugin with audioecho element
2017-10-07 01:04:33 +03:00
Sebastian Dröge
c241a65555
Add BaseTransform support
2017-10-05 18:08:15 +03:00
Sebastian Dröge
2c0388b06d
Fix BaseSink::event() signature
...
The event's ownership is transfered to the function, not only borrowed.
In BaseSrc::event() it is borrowed.
2017-10-05 10:23:47 +02:00
Sebastian Dröge
dda3b5ff1a
Fix build with latest gstreamer-rs
2017-10-01 16:19:43 +02:00
Sebastian Dröge
6a7da572f0
Use our own reimplementation of mopa for our use cases
...
We had to replicate the mopafy! macro already anyway and poke into the
internals of the mopa implementation.
2017-09-26 13:54:55 +03:00
Sebastian Dröge
e97f4fb8c1
Fix some unused parameter warnings
2017-09-26 13:45:19 +03:00
Sebastian Dröge
60e25bcc91
Add lots more virtual method for basesrc
2017-09-26 13:39:34 +03:00
Sebastian Dröge
dc231937d7
Add more virtual methods to ElementImpl
2017-09-26 13:11:52 +03:00
Sebastian Dröge
91df8f991e
Add lots of missing virtual methods to BaseSink
2017-09-26 11:58:26 +03:00
Sebastian Dröge
cba662934c
Get rid of various clippy warnings
2017-09-26 01:58:19 +03:00
Sebastian Dröge
515f58da02
Remove obsolete FIXME comment
2017-09-26 01:52:35 +03:00
Sebastian Dröge
ec1903a571
Make overriding of vfuncs safer
...
It can only be called from the correct class_init() now
2017-09-26 01:50:56 +03:00
Sebastian Dröge
41d6343682
Make calls into the parent class struct safer and use more useful object wrapper type (T) for virtual methods
2017-09-26 01:43:56 +03:00
Sebastian Dröge
a354116336
Make ObjectImpl and subtraits generic over T: ObjectType
2017-09-26 00:25:03 +03:00
Sebastian Dröge
f45723c04e
Remove redundant ObjectType::RsType associated type
...
It's supposed to be the same as Self
2017-09-25 23:40:17 +03:00
Sebastian Dröge
5e9f42e7f8
Remove some more boilerplate
2017-09-25 15:35:27 +03:00