François Laignel
948fb2ae4b
Replace XXXReturn with Result<XXXSuccess, XXXError>
...
... in function signatures.
These breaking changes aim at improving usability by allowing users
to take advantage of Rust error management features sur as `ok_or`,
`map_err`, `expect` and the `?` operator. See the `examples` and
`tutorials` to get an idea of the impacts.
2019-01-11 18:33:04 +01:00
Sebastian Dröge
5c93e134a7
Regenerate everything with new version of gir
2018-12-08 14:58:14 +02:00
Sebastian Dröge
d2b911a629
Port GhostPad subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
ec2a0635ca
Port Pad subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
97211e869b
Port Pipeline subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
55dac7eeb4
Port Bin subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
56319f9294
Move subclassing infrastructure into the main bindings
...
And port Element bindings to the new infrastructure.
2018-11-21 16:14:06 +02:00
Thijs Vermeir
ba22a36cdb
use BoolError for {Element,TypeFind,DeviceProvider}::register
2018-11-04 19:14:35 +01:00
Sebastian Dröge
0947c8f087
Rename gst::Bin traits from BinExt to GstBinExt to prevent conflicts with gtk::Bin
2018-10-28 11:30:41 +00:00
Sebastian Dröge
3c900e6102
Regenerate with latest gir
2018-08-18 00:25:12 +03:00
François Laignel
3f0cd6fb87
Toc: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
5e6f80cc32
Segment: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
a2c4e78f70
GenericFormattedValue: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
862afe5cc7
Buffer: serde impl
2018-07-30 23:18:30 +03:00
Sebastian Dröge
4692806b00
Add Bus::remove_watch()
...
It was accidentially ignored before
2018-05-19 10:37:09 +03:00
Sebastian Dröge
c31921e093
Further work-arounds for floating reference handling changes between 1.12 and 1.14
...
This fixes various memory-safety issues caused by broken reference
counting. We have to handle pre-1.14 and post-1.14 differently in
constructors.
See https://bugzilla.gnome.org/show_bug.cgi?id=743062#c30
2018-05-09 12:20:59 +03:00
Sebastian Dröge
46d27e3e75
Regenerate everything with latest GIR
2018-04-23 20:45:15 +03:00
Sebastian Dröge
3a755219f4
Add Promise bindings
2018-03-19 10:32:07 +02:00
Sebastian Dröge
4864a1e089
Fix build
2018-03-19 10:32:07 +02:00
Sebastian Dröge
1abe9cbeb9
Update gstreamer
2018-03-19 10:32:07 +02:00
Sebastian Dröge
de8f4694f5
Add initial BufferPool bindings
2018-03-07 11:08:21 +02:00
Sebastian Dröge
808ff293ec
Regenerate everything with latest gir
2018-03-02 21:34:29 +02:00
Sebastian Dröge
67a46b3bf5
Most Preset functions that return a bool signal an error with this, use a Result
2017-12-20 18:47:04 +02:00
Sebastian Dröge
f2729fb730
Preset::set_app_dir() returning false is an error, make it a Result
2017-12-20 18:44:57 +02:00
Sebastian Dröge
d182584c25
Object::set_name() should not accept NULL
2017-12-20 18:35:41 +02:00
Sebastian Dröge
55c8cf69f3
update_registry() returning false is not an error
...
It means that there were no changes.
2017-12-20 18:22:30 +02:00
Sebastian Dröge
e34212d517
parse_bin_from_description() return value is not nullable, except for errors
2017-12-20 18:22:30 +02:00
Sebastian Dröge
241bb823d5
Element::link_pads_full() should return a Result instead of a bool
2017-12-20 18:07:55 +02:00
Sebastian Dröge
e2970db84c
Failure to post a message is an error, so return a Result instead of a bool
2017-12-20 18:07:28 +02:00
Sebastian Dröge
12ee7358e3
Add bindings for TypeFindFactory
2017-12-18 09:53:08 +02:00
Sebastian Dröge
5dd89d01e2
DeviceMonitor/Provider::start() should return a Result
2017-12-18 09:49:15 +02:00
Sebastian Dröge
48958d381e
Implement Sync for DateTime
...
It's immutable.
2017-12-18 09:42:27 +02:00
Sebastian Dröge
9223386750
Remove clock parameter from Clock::(un)adjust_with_calibration()
...
It's useless and not used.
2017-12-18 09:39:37 +02:00
Sebastian Dröge
9a7ede1dcc
Bus::add_signal_watch_full() should take a Priority, not u32 for the priority
2017-12-18 09:39:14 +02:00
Sebastian Dröge
49627b8de7
Various nullability fixes everywhere and hide enum->string functions
2017-12-17 18:29:22 +02:00
Sebastian Dröge
5108c941ed
Various nullability fixes to plugin bindings, and add add_dependency() API
...
Also fix structure ownership for the cache data API
2017-12-17 14:26:17 +02:00
Sebastian Dröge
ffb5869dd1
Use the correct pad type for the proxy/ghost pad default pad functions
2017-12-17 11:24:03 +02:00
Sebastian Dröge
3de73d89f2
Add Buffer::copy_into() and add flags parameter to ::copy_region()
...
Also ::copy_deep() can fail, return an Option<_>
2017-12-16 15:15:42 +02:00
Sebastian Dröge
55f044dd83
Add newtype wrappers and INVALID constants for event/message GroupId and Seqnum
2017-12-05 21:33:04 +02:00
Sebastian Dröge
e5bbf93670
Registry::scan_path() returning false is not an error
2017-12-03 14:54:52 +02:00
Sebastian Dröge
49e1fe1c3f
Add bindings for Registry and PluginFeature
2017-12-03 14:40:38 +02:00
Sebastian Dröge
ef24828b40
Correctly ignore Pad::peer_query_* and query_*
...
These are manually bound now due to gst::FormatValue
2017-11-26 18:19:00 +02:00
Sebastian Dröge
c39c0c7264
Implement ClockTime as ClockTime(Option<u64>)
...
And also implement a FormatValue type that holds a value together with
its format to make usage of the positions/durations/seek positions/etc
more convenient and safe.
Fixes https://github.com/sdroege/gstreamer-rs/issues/3
2017-11-11 11:57:29 +01:00
Sebastian Dröge
e8638c1630
Mark various enums that can signal errors as #[must_use]
...
See https://github.com/sdroege/gstreamer-rs/issues/44
2017-11-05 19:16:50 +02:00
Sebastian Dröge
99a60e921d
Ignore property notify functions
...
They're manually implemented now.
2017-11-04 12:12:07 +02:00
Sebastian Dröge
9206ddba61
Add StaticCaps and StaticPadTemplate bindings
...
No way to create them though, just use lazy_static from Rust instead if
something like this is needed.
2017-10-15 11:08:56 +03:00
Sebastian Dröge
dc6c7500df
Add bindings for remaining pad task functions
...
Especially Pad::start_task()
2017-09-18 00:32:29 +03:00
Sebastian Dröge
ce5c01a88e
Implement gst::Iterator as a generic type to not require using glib::Values everywhere
2017-09-17 18:45:38 +03:00
Sebastian Dröge
f7bce553cd
Implement std::iter::Iterator<Item=Result<glib::Value, IteratorError> for gst::Iterator
2017-09-17 14:43:33 +03:00
Sebastian Dröge
ca6c597fad
Add bindings for the GStreamer logging system
2017-09-09 16:35:01 +03:00