François Laignel
e80a29372a
fix-getters-def 0.3.0 pass
2021-04-20 18:18:02 +02:00
François Laignel
53be8e5f58
fix-getters-{def,calls} pass
2021-04-13 17:54:40 +02:00
Sebastian Dröge
b6f6758454
gstreamer: Store ffi::GstStructure inside gst::Structure
...
Simplifies code and prepares for the next changes.
2021-04-03 17:35:10 +03:00
Sebastian Dröge
a316d610eb
gstreamer: Update for glib::Type API changes
2021-02-25 12:49:47 +02:00
Sebastian Dröge
ce1148b474
Update everything for glib macro renamings
2020-12-18 00:56:47 +02:00
Guillaume Gomez
ff5a36561a
Fix license header situation
2020-12-15 11:53:31 +01:00
Marijn Suijten
0763d2645d
video: Reuse Self::Err in from_str
2020-12-07 12:09:39 +01:00
Sebastian Dröge
9d9522016b
gstreamer: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
a6c8fe0c8a
Use repr(transparent) where it is more correct and get rid of some unneeded repr(C)
2020-10-24 17:09:10 +00:00
Sebastian Dröge
4c216bca3a
Remove unneeded PhantomData markers
...
And as a side-effect also get rid of the lifetime parameter of
gst::TypeFind that was completely unused anyway.
2020-10-24 17:09:10 +00:00
Sebastian Dröge
7086a754be
Add various glib::Value trait impls for borrowed versions of types
...
For SDPMessageRef, StructureRef and CapsFeatureRef this involves the
conversion from and to a glib::Value. Specifically this means that e.g.
a StructureRef can be retrieved from a glib::Value via borrowing, i.e.
without creating a copy of the structure first.
For all mini objects only retrieval from a glib::Value is implemented as
the other direction would allow to get multiple immutable references
from a mutable reference without borrowing, which is not allowed and
would make it possible to observe a mini object changing while having an
immutable reference to it.
2020-05-27 13:17:54 +03:00
Sebastian Dröge
d417656707
Use thiserror more widely for deriving Error/Display impls of error types
2020-05-26 19:26:35 +03:00
Vivia Nikolaidou
ec4a43be89
Regenerate
2020-05-03 16:48:35 +03:00
Jan Alexander Steffens (heftig)
1d2609d448
gstreamer: Return any lifetime instead of 'static
...
Following https://github.com/gtk-rs/glib/pull/633
2020-04-30 09:50:00 +02:00
Guillaume Desmottes
97026d7f86
gstreamer: structure: add new_from_iter()
...
Allow to easily create a new Structure from an iterator.
Fix #250
2020-04-20 15:53:28 +02:00
Guillaume Gomez
c07fe14191
gstreamer*: Add missing init checks
2020-04-12 17:25:54 +03:00
Sebastian Dröge
62e9af58c6
Fix some clippy warnings
2020-04-11 21:18:18 +03:00
Sebastian Dröge
94ace06883
Remove deprecated std::error::Error::description() impls
2020-04-11 19:39:04 +03:00
Sebastian Dröge
62c0f5ef42
Use mem::ManuallyDrop instead of mem::forget() everywhere
...
It makes the intentions clearer and potentially results in simpler
assembly, at least in debug builds.
2020-04-09 16:57:06 +03:00
Jan Alexander Steffens (heftig)
af27d73e5c
gstreamer: Return &'static str from StructureRef
...
The names are backed by Quarks and thus eternally valid.
2020-03-12 19:25:12 +01:00
Sebastian Dröge
8d0fa62275
Minor cleanup in various places
2020-03-09 12:55:14 +02:00
Sebastian Dröge
be3c378f28
Use Results instead of Options where they signal an error instead of just a missing value
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 22:21:28 +02:00
Sebastian Dröge
06cfcd57fc
Move to_string() methods into the Display trait or rename to to_str(), move from_string() into the FromStr trait
...
Fixes clippy warnings, prevents confusing errors and is more consistent.
The Display trait provides a to_string() method by itself and FromStr
provides from_str().
2019-10-04 11:01:55 +03:00
Jan Alexander Steffens (heftig)
29710d9970
gstreamer: Assert that FromValueOptional works as expected
...
Fails without the preceding patch.
2019-09-24 10:34:44 +00:00
Jan Alexander Steffens (heftig)
dca2cc1c5d
gstreamer: Remove bad asserts in two impl FromValueOptional
...
These prevented actually getting a None out of a Value which contains a
NULL.
2019-09-24 10:34:44 +00:00
François Laignel
26423a069c
structure::tests: use error constructors
2019-08-16 15:04:01 +02:00
Sebastian Dröge
2829c7ee2f
gstreamer: Add StructureRef::get_optional()
...
This only returns Err on type mismatches. If the field does not exist or
None it returns None, otherwise the value.
StructureRef::get() returns Err also if the field does not exist.
2019-08-13 18:30:40 +03:00
François Laignel
514a05accd
Manual update for new Value::get
signature
2019-08-13 10:57:32 +02:00
Sebastian Dröge
d1e562b9f6
Explicitly add dyn
keyword to trait objects
...
Trait objects without are deprecated with the latest nightly and this
makes it more clear that we're doing dynamic dispatch anyway.
2019-06-06 09:09:34 +03:00
Sebastian Dröge
e7898c1b24
Update manual code
2019-04-15 19:19:19 +03:00
Sebastian Dröge
2b2c3bbade
Make sure to initialize GStreamer in all Structure tests
2019-01-27 03:02:11 +02:00
Sebastian Dröge
bd0cbe99b3
Add more Debug impls to everything possible
2019-01-22 17:46:08 +02:00
Sebastian Dröge
857ed8609c
Structure is Sync, and StructureRef is Send+Sync
2018-09-22 11:00:17 +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
4f948e2cce
Sample: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
1ef83c24b8
Structure: 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
Sebastian Dröge
694bcaa697
Fix all clippy warnings
...
Or silence the ones we don't care about.
2018-07-20 10:28:20 +03:00
Sebastian Dröge
03055f4e84
Change Structure/StructureRef to_string() to the minimal required fix
...
And add a comment to why we need it. No other struct with a to_string()
function is affected.
https://github.com/sdroege/gstreamer-rs/issues/101
2018-04-07 13:37:44 +03:00
Sebastian Dröge
ce9b98f338
Add Display impl for StructureRef too
2018-04-06 13:22:08 +03:00
Sebastian Dröge
f346d57b4f
Fix infinite recursion in Structure::to_string()
...
Instead of StructureRef's to_string(), we were calling
ToString::to_string() in the Display impl. Which then called into itself
again.
Fixes https://github.com/sdroege/gstreamer-rs/issues/101
2018-04-06 13:22:08 +03:00
Guillaume Desmottes
c5617f6a47
WIP: test Structure string conversions
2018-04-06 13:22:08 +03:00
Sebastian Dröge
492c3d656c
Run everything through rustfmt again
2018-04-01 11:57:58 +03:00
Sebastian Dröge
fca0287dec
Use ptr::NonNull in various places
2018-04-01 11:29:55 +03:00
Sebastian Dröge
4117c01ff2
Run everything through latest rustfmt-nightly
2018-02-22 11:18:37 +01:00
Sebastian Dröge
e0dc84c10a
Run everything through rustfmt again
2017-12-20 19:30:14 +02:00
Sebastian Dröge
1f6fd3def7
Structure intersection can return None
2017-12-17 11:52:52 +02:00
Sebastian Dröge
411f54afed
Run everything to rustfmt again
2017-12-01 19:02:53 +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
Sebastian Dröge
b198ee21da
Let Sample::new(), TagList::add(), Structure::set() and others take more values by reference instead of by value
2017-11-27 14:34:02 +02:00
Sebastian Dröge
d430467ed5
Don't require Send for Structure::get()
...
Otherwise we won't be able to get references here.
2017-11-16 13:39:01 +02:00
Sebastian Dröge
7eb8429046
Run everything through latest rustfmt-nightly again
2017-11-15 22:33:51 +02:00
Sebastian Dröge
0629a0283e
Use SendValue instead of Value for all our GValue usage
...
We require types that can be sent between threads.
2017-11-15 20:32:52 +02:00
Sebastian Dröge
2fc3470fa1
Add a Builder for caps and structures
2017-11-11 13:18:50 +01:00
Sebastian Dröge
f0935d7e1e
Add remaining gst_init() assertions
2017-08-30 14:39:09 +03:00
Sebastian Dröge
337f00a85c
Implement SetValueOptional for Structure
2017-08-18 16:28:08 +03:00
Sebastian Dröge
2452f7f6a9
Allow usage of Structures in GValues
2017-08-10 01:13:28 +03:00
Sebastian Dröge
03285a6311
Run everything through latest rustfmt-nightly
2017-07-31 12:16:42 +01:00
Sebastian Dröge
27d191f854
Use &ToValue instead of &Value for simple structure/caps setters/constructors
2017-07-27 23:36:44 +01:00
Sebastian Dröge
28f665502b
Implement all caps/structure operations
...
Except for anything related to caps features
2017-07-25 02:03:18 +03:00
Sebastian Dröge
ab4aa57a86
Fix indentation in a few places and remove unused imports
2017-07-24 11:52:28 +03:00
Sebastian Dröge
5e58998c76
Implement FromStr for Caps and Structure
2017-07-13 14:57:02 +03:00
Sebastian Dröge
49ea4e45fa
Re-enable iterator test for Structure
2017-07-12 10:38:34 +03:00
Sebastian Dröge
796e37b4b6
Initial tag support
2017-07-12 10:27:43 +03:00
Sebastian Dröge
71c0885575
Remove some unused "use"s
2017-07-11 00:36:38 +03:00
Sebastian Dröge
4c5aa49fa2
Run manual code through rustfmt
2017-07-11 00:33:24 +03:00
Sebastian Dröge
8f49779329
For borrowing Structures, StructureRef has to be used
...
Otherwise DerefMut would have to go away.
2017-07-11 00:11:55 +03:00
Sebastian Dröge
c0707bed94
Add initial caps bindings
2017-07-11 00:11:55 +03:00
Sebastian Dröge
944c71f953
Implement StaticType for Structure
2017-07-10 17:13:49 +03:00
Sebastian Dröge
e43bf21ded
Add initialization safety assertions
...
Ensure that GStreamer is initialized before allowing to call any
functions
2017-07-10 17:12:14 +03:00
Sebastian Dröge
992105b49f
Implement basic GstStructure bindings
2017-07-10 17:10:15 +03:00