Vivia Nikolaidou
05d936fcee
gstreamer: Add binding for GstMessageType and gst_bus_timed_pop_filtered
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/168
2019-05-10 19:35:13 +03:00
Sebastian Dröge
e7898c1b24
Update manual code
2019-04-15 19:19:19 +03:00
Sebastian Dröge
8c39da4e5b
Update to Rust 1.31 linter-specific attributes
2019-03-04 15:16:01 +02:00
Sebastian Dröge
9d79280929
Add some more functions for generically handling tags
2019-01-23 15:54:00 +02:00
Sebastian Dröge
598e012568
Add bindings for gst::tags::register()
2019-01-23 15:52:51 +02:00
François Laignel
84ba2d7971
Use dedicated type DeviceMonitorFilterId
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/174
2019-01-19 14:52:15 +01:00
Sebastian Dröge
bfcdec782e
Switch to stable rustfmt and add skip annotations for the generated code to the lib.rs
2019-01-16 17:10:01 +02:00
Sebastian Dröge
43ec33a1db
Remove some code that is nowadays generated by the glib_wrapper! macro
2019-01-16 15:23:53 +02:00
Sebastian Dröge
d780b92f21
Use an extension trait instead of a custom type for the GStreamer param specs
...
This way they can simply be created via glib::ParamSpec::fraction() for
example.
2018-12-11 12:37:15 +02:00
Sebastian Dröge
1515707655
Add bindings for the array/fraction param spec constructors
2018-11-29 19:18:45 +00: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
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
cb23d20270
Implement support for buffer Metas
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/103
2018-09-29 11:44:55 +03:00
Sebastian Dröge
6fd0ed4cb3
Move all minobjects to newtype wrapper types
...
For consistency with external crates and to help rustdoc, which gets
confused on impl blocks for type aliases.
2018-09-28 18:11:46 +03:00
Sebastian Dröge
a43c78f2c5
Run everything through rustfmt
2018-09-28 13:15:18 +03:00
Sebastian Dröge
564f9faf84
Add support for CapsFeatures
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/13
2018-09-28 13:15:18 +03:00
Philippe Normand
58741b7ea2
gstreamer: Implement deinit() function
...
This function is especially usefull when using the leaks tracer. It was removed
in commit e7a0543c
.
2018-08-04 18:39:53 +03:00
François Laignel
0eb6bcf0c0
serde: restrain unneeded visibilities
2018-07-30 23:18:30 +03:00
François Laignel
9f2f684188
format: serde: avoid redundant ()
for some types
2018-07-30 23:18:30 +03:00
François Laignel
90b046fbcf
serde: separate serde impl and tests from base module
...
+ fix erroneous `datetime` instead of `buffer` in `BufferRef::serialize`
+ remove ser/de for `Value`s with types `ULong` & `ILong`
2018-07-30 23:18:30 +03:00
François Laignel
862afe5cc7
Buffer: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
778e11742f
value: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
0d65b7f1ed
DateTime: serde impl
2018-07-30 23:18:30 +03:00
Sebastian Dröge
33a6aab6d7
Run everything through latest rustfmt
2018-07-27 13:36:40 +03:00
François Laignel
be9ef0d152
Tags: implement generic iterators
...
This is the continuation of PR #107 by @ystreet
2018-07-12 07:22:39 +02:00
Sebastian Dröge
e0972ae1e5
Get rid of manual usage of callback_guard!
2018-06-24 14:52:50 +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
2cefd9aea6
Re-run everything through rustfmt
2018-04-25 11:13:14 +03:00
Sebastian Dröge
a276c226fd
Port BusStream to futures 0.2
2018-04-23 20:27:17 +03:00
Sebastian Dröge
492c3d656c
Run everything through rustfmt again
2018-04-01 11:57:58 +03:00
François Laignel
cd56d60352
Bus::get_pollfd generate doc for both unix & windows
...
There are different implementations and signatures for `get_pollfd` depending
on whether the target platform is unix or windows. When generating the doc,
we need both implementations to appear regardless of the target platform. This
commit is inspired by the way Rust `std` library deals with `process::Command`
OS dependent variants
(https://doc.rust-lang.org/std/process/struct.Command.html#impl-CommandExt ).
Documentation can't be accurate though as we can't use the`std::os::windows`
on `unix` and vice versa. As a workaround a fake fd class matching the other
platform is declared.
This could be further enhanced once `#[doc(cfg(...))]` is stabilized
(https://github.com/rust-lang/rust/issues/43781 ) by declaring `#[doc(cfg(unix))]`
or `#[doc(cfg(windows))]` instead of the hard coded comments `This is supported
on **Windows/Unix** only`. Unfortunately, these comments disappear when
generating will `--all-features` because they are not part of the documentation
in the gir file.
2018-03-19 13:48:59 +02: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
de8f4694f5
Add initial BufferPool bindings
2018-03-07 11:08:21 +02:00
Sebastian Dröge
a3b294f0f2
Add back callback guards
2018-03-02 21:34:29 +02:00
Sebastian Dröge
f1426c82ba
Remove callback guards
...
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 19:58:41 +02:00
Sebastian Dröge
ad219dd171
Remove PAD_PROBE_ID_INVALID and Default impls for PadProbeId and NotifyWatchId
...
These should never ever be 0, and passing 0 to any of the functions
using them will result in assertions.
2018-01-25 21:06:39 +02:00
Sebastian Dröge
9066cf0634
Add ErrorMessage type
...
This can be used to propagate an element error via a Result until the
place where it can be actually posted on an element.
2017-12-20 20:00:05 +02:00
Sebastian Dröge
e0dc84c10a
Run everything through rustfmt again
2017-12-20 19:30:14 +02:00
Sebastian Dröge
95c9f92549
Add StreamCollection::iter()
2017-12-20 18:54:56 +02:00
Sebastian Dröge
6d8cfa5de0
Add support for TypeFind and implement Ord on Rank and TypeFindProbability
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/11
2017-12-19 19:14:12 +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
7065d1d884
Add constants for COPY_ALL and COPY_METADATA buffer copy flags
2017-12-16 17:40:47 +02:00
Sebastian Dröge
c99928d030
Change FormatValue related API to be more convenient to use
...
FormatValue is now renamed to GenericFormattedValue and the API slightly
changed. In addition there is now a FormattedValue trait, and a
SpecificFormattedValue trait plus types for Bytes, Buffers and the
existing ClockTime.
This allows to create functions like
Pad::query_duration<F: SpecificFormattedValue>() -> Option<F>
and doesn't require the caller to unwrap the generic value anymore,
which is completely unneeded in these cases.
In addition, Segment became FormattedSegment<T> with API to
upcast/downcast between the specific formatted values and the generic
formatted value. This greatly simplifies usage of Segments.
2017-12-09 19:45:18 +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
fccb1eca5e
Implement fmt::Debug more consistently for miniobjects and various other types
2017-12-01 11:34:01 +02:00