Commit graph

141 commits

Author SHA1 Message Date
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
781c5785b1 Regenerate 2020-05-05 17:29:14 +00:00
Vivia Nikolaidou
ec4a43be89 Regenerate 2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
118c7d4ad9 Regenerate 2020-04-30 17:16:23 +03:00
Sebastian Dröge
5021994237 Regenerate everything 2020-04-13 19:11:33 +03:00
Sebastian Dröge
d1665b8114 Regenerate with latest gir 2020-04-12 18:55:06 +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
Sebastian Dröge
019afd54f9 Update for new from_glib_borrow signature
See https://github.com/gtk-rs/glib/pull/605
2020-04-05 18:48:48 +03:00
Sebastian Dröge
196a9891cb Regenerate with latest gir
This switches the RTP constant strings over to once_cell::Lazy
2020-01-22 19:57:41 +02:00
Sebastian Dröge
2ba5105b80 Implement Sync/Send for more types and don't implement Send for TypeFind
They can actually be shared with multiple threads at the same time
safely as all functions requiring an immutable reference are
thread-safe.

OTOH TypeFind can't be shared safely between different threads as not
all implementations of the TypeFind struct are thread-safe.
2019-12-18 18:37:44 +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
Tony Jinwoo Ahn
c3b7f0f353 gstreamer-gl, gstreamer-pbutils, gstreamer-sdp: Change functions from returning Option to Result
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 08:20:47 +00:00
Sebastian Dröge
eaafbd14f7 Regenerate 2019-12-15 12:19:33 +02:00
Sebastian Dröge
2c4c2c4784 sdp: Guard against NULL strings/arrays in the SDP data structures
While all these are invalid for a proper SDP, they appear as NULL when
creating a new, empty SDP.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/221
2019-11-21 09:39:02 +00:00
Sebastian Dröge
175863668d Regenerate everything with latest gir 2019-11-21 09:52:51 +02:00
Guillaume Gomez
9e30687d8e Fix glib reexports 2019-11-11 11:34:09 +01:00
Guillaume Gomez
457ac9118b Regenerate with latest gir 2019-11-11 11:34:09 +01:00
Sebastian Dröge
991f2e1576 Update and regenerate everything with latest gir 2019-10-05 00:03:57 +03:00
François Laignel
5d012945df Regen 2019-08-11 10:43:30 +02:00
Sebastian Dröge
d8325212f4 Fix various clippy warnings 2019-07-11 22:02:01 +03:00
Sebastian Dröge
424a87efbf Use MaybeUninit::zeroed() everywhere possible instead of mem::zeroed() 2019-07-11 17:56:50 +03:00
Sebastian Dröge
bde6a04780 Regenerate everything with latest gir 2019-07-10 11:21:28 +03:00
Sebastian Dröge
47f0940b44 Regenerate everything with latest gir 2019-06-24 20:52:03 +03:00
Sebastian Dröge
b87ffa17bb Run rustfmt also over all the generated code 2019-06-18 13:12:00 +03:00
Sebastian Dröge
e5aa6f59f9 Regenerate everything 2019-06-18 13:10:46 +03:00
Sebastian Dröge
86e969d964 Remove various Into<Option<_>> trait bounds from functions
In autogenerated code these were already replaced but some manual code
still kept them.
2019-05-24 10:04:16 +00:00
Víctor Manuel Jáquez Leal
32d7f42d67 Remove unused extern crates
Latest versions of nightly rust compiler can detect unused extern
crates, and this commit removes those marked as unused.
2019-05-17 09:34:46 +00:00
Sebastian Dröge
e9edb8ddca sdp: Add SDPMessage::get_media_mut() and ::medias_mut()
This allows getting mutable references to the medias so that they can be
modified, which is allowed by the C API and safe to do.
2019-05-15 17:15:41 +03:00
Sebastian Dröge
8cd9b6c9fc sdp: Add Default impl for Media 2019-04-15 19:19:19 +03:00
Sebastian Dröge
e7898c1b24 Update manual code 2019-04-15 19:19:19 +03:00
Sebastian Dröge
24305a19e8 Regenerate everything with latest gir 2019-04-15 18:38:05 +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
23a776ea63 sdp: Remove return value from various media setter/adder functions
They can't possibly fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
83a4529927 sdp: Fix SDPMedia constructor, it can't possibly fail 2019-02-28 20:35:45 +02:00
Sebastian Dröge
43a7eb8642 sdp: Fix leaking of SDPMedia in the adder of SDPMessage 2019-02-28 20:35:45 +02:00
Sebastian Dröge
0dcaa072a1 sdp: Fix various add/set functions on SDPMessage to not have a return value
These can't possibly fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
e830de8904 sdp: Fix freeing of message content when parsing fails 2019-02-28 20:35:45 +02:00
Sebastian Dröge
74bbff55ad sdp: Add proper Debug/Clone impls for various SDP types
And fix nullability of others.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
7673be5baa sdp: Remove MIKEY API for now
It was completely broken and has to be done differently. Once someone
actually needs it this can be re-added properly.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
1d2f77bb64 sdp: Implement Borrow/BorrowMut/ToOwned for SDPMessage 2019-02-28 20:35:45 +02:00
Sebastian Dröge
af86d5745d sdp: Implement a proper Debug impl on SDPMessage 2019-02-28 20:35:45 +02:00
Sebastian Dröge
baf1d299d7 sdp: Fix up SDPMessage API that accesses indexed fields
It's forbidden to provide an index higher than the number of elements in
the array, and will cause crashes or other undesired outcomes.

Also the insert() API should take an Option<u32> instead of an i32 that
might also be -1 for appending. It's awful API otherwise.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
95b3a3a648 sdp: Add message iterators for the various arrays 2019-02-28 20:35:45 +02:00
Sebastian Dröge
fa14530c1d sdp: Add a SDPMessageRef that allows borrowing of a message 2019-02-28 20:35:45 +02:00
Sebastian Dröge
7b66325f22 sdp: Implement Borrow/BorrowMut/ToOwned for SDPMedia 2019-02-28 20:35:45 +02:00
Sebastian Dröge
b6f569d049 sdp: Implement a proper Debug impl on SDPMedia 2019-02-28 20:35:45 +02:00
Sebastian Dröge
30950917a0 sdp: Fix up SDPMedia API that accesses indexed fields
It's forbidden to provide an index higher than the number of elements in
the array, and will cause crashes or other undesired outcomes.

Also the insert() API should take an Option<u32> instead of an i32 that
might also be -1 for appending. It's awful API otherwise.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
37fd226836 sdp: Add media iterators for bandwidths, formats, connections and attributes 2019-02-28 20:35:45 +02:00
Sebastian Dröge
ab2dbe0234 sdp: Fix SDPMedia::attributes_to_caps() signature to actually work
It has to take a mutable caps reference or otherwise will simply fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
20e10698ac sdp: Add a SDPMediaRef that allows borrowing of a media
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/189
2019-02-28 20:35:45 +02:00
Sebastian Dröge
8754e4220e Regenerate everything with latest gir 2019-02-22 11:55:16 +02:00
François Laignel
be9566fe4a gstreamer-sdp: update functions returning bool to Result<(), glib::BoolError>
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/182
2019-02-05 20:26:28 +01:00
Sebastian Dröge
00cbd49923 Regenerate with latest gir 2019-01-29 16:28:51 +02:00
Sebastian Dröge
bd0cbe99b3 Add more Debug impls to everything possible 2019-01-22 17:46:08 +02:00
Sebastian Dröge
ad24ab9638 Regenerate everything with latest gir 2019-01-21 22:00:48 +02: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
6da0a9d169 Regenerate everything with latest gir 2019-01-16 13:32:39 +02:00
François Laignel
3200574d31 Update to latest gir
See https://github.com/gtk-rs/gir/pull/687
2019-01-04 16:02:40 +01:00
Philippe Normand
9534416760 Regenerate and fix manual bindings for GString support 2019-01-03 22:01:41 +00:00
Sebastian Dröge
5c93e134a7 Regenerate everything with new version of gir 2018-12-08 14:58:14 +02:00
Sebastian Dröge
f31827f194 Regenerate with latest gir
Gets rid of some unneeded property notification functions in GES
2018-11-05 11:18:31 +02:00
Víctor Manuel Jáquez Leal
60c9cdfda1 Update autogenerated code with latest gir 2018-10-31 17:33:15 +02:00
Sebastian Dröge
5d9a3b4272 Use ptr::add(i) instead of ptr::offset(i as isize) 2018-10-11 11:58:01 +03:00
Sebastian Dröge
8f71a81cb5 Regenerate with latest gir to get rid of unneeded notify signal connectors for construct-only properties 2018-10-03 13:57:07 +03:00
Sebastian Dröge
3c900e6102 Regenerate with latest gir 2018-08-18 00:25:12 +03:00
Sebastian Dröge
2240ef109f Regenerate with latest GIR and update for the glib::Quark changes 2018-07-30 11:46:40 +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
2085d170be Get rid of callback_guard! as unwinding through FFI is defined behaviour now and aborts 2018-06-24 14:42:11 +03:00
maxmcd
40c206d813 Add sdp message init in parse functions 2018-05-31 16:30:18 +03:00
Sebastian Dröge
1192a027b4 Regenerated with latest GIR and GIR files 2018-05-21 11:55:19 +03:00
Sebastian Dröge
2d260b4f0c Rename manual files with too many underscores 2018-04-23 20:45:15 +03:00
Sebastian Dröge
46d27e3e75 Regenerate everything with latest GIR 2018-04-23 20:45:15 +03:00
Sebastian Dröge
2fe925927b Add missing imports to sdp library and fix build 2018-04-05 23:06:18 +03:00
Sebastian Dröge
fb73d1bc15 Get rid of GstSDPResult enum 2018-04-05 21:06:49 +03:00
Sebastian Dröge
19b6987012 Fix various compiler warnings 2018-04-05 21:06:49 +03:00
Sebastian Dröge
0ff3dd150c Re-export all public API from the SDP library 2018-04-05 21:06:49 +03:00
Sebastian Dröge
873ddf0de6 Run gstreamer-sdp and gstreamer-webrtc through rustfmt 2018-04-05 21:06:49 +03:00
Bo Du
05fec4d927 Free on error. Use pub(crate). Minor fixes. 2018-04-05 21:06:49 +03:00
Bo Du
3ecd67ee46 Address PR comments and fix compilation errors 2018-04-05 21:06:49 +03:00
Bo Du
36d538c0a0 Add SDPMessage definition and other manual SDP definitions. 2018-04-05 21:06:49 +03:00
Bo Du
92016945fc Update auto-gen'ed files. 2018-04-05 21:06:49 +03:00
Sebastian Dröge
3a0c972304 WebRTC/SDP WIP 2018-04-05 21:06:49 +03:00
Sebastian Dröge
9a3ef2e9f1 Regenerate with latest GIR and update for the non-bitflags flags in -sys now 2018-04-04 10:47:12 +03:00
Sebastian Dröge
492c3d656c Run everything through rustfmt again 2018-04-01 11:57:58 +03:00
Sebastian Dröge
a33fd41d02 Regenerate everything with latest gir 2018-03-20 11:52:29 +02:00
Sebastian Dröge
033a391f89 Update gstreamer-sdp 2018-03-19 10:32:07 +02:00
Sebastian Dröge
808ff293ec Regenerate everything with latest gir 2018-03-02 21:34:29 +02:00
Sebastian Dröge
4117c01ff2 Run everything through latest rustfmt-nightly 2018-02-22 11:18:37 +01: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
Mathieu Duponchelle
a00243d529 Add initial libgstsdp, libgstrtsp and libgstrtspserver bindings
Only automatic bindings for now, which is enough to allow
implementing a simple rtsp-server example.

Depends on https://github.com/sdroege/gstreamer-sys/pull/8

Uses a new gir feature proposed at
https://github.com/gtk-rs/gir/pull/539 to make doc regeneration
easier.

Fixes https://github.com/sdroege/gstreamer-rs/pull/80
2018-02-14 18:57:58 +02:00