Commit graph

369 commits

Author SHA1 Message Date
Sebastian Dröge
4959fae043 Implement Ord/PartialOrd on Seqnum 2018-08-27 09:23:15 +03:00
Philippe Normand
bf4defb6a3 gstreamer: Implement deinit() function
This function is especially usefull when using the leaks tracer. It was removed
in commit e7a0543c.
2018-08-27 09:22:55 +03:00
Sebastian Dröge
5c2addb37b Fix build with two-phase-borrows/NLL 2018-08-27 09:20:51 +03:00
Sebastian Dröge
f162735145 Update versions to 0.11.5 2018-07-24 15:53:24 +03:00
Sebastian Dröge
42a8aeeabb Update CHANGELOG.md for 0.11.5 2018-07-24 15:52:31 +03:00
Sebastian Dröge
8a4370022a Unref the message in sync bus handlers if Drop is returned 2018-07-24 15:36:10 +03:00
Sebastian Dröge
1855a1adbd Update versions to 0.11.4 2018-07-19 18:39:27 +03:00
Sebastian Dröge
75dec4b0b1 Update CHANGELOG.md for 0.11.4 2018-07-19 18:39:13 +03:00
Sebastian Dröge
9295137a10 Caps::subtract() does not take ownership of its arguments 2018-07-19 18:33:32 +03:00
Sebastian Dröge
3f8a087fd4 Gracefully return None in Caps::get_structure() if the index is too high 2018-07-19 18:31:50 +03:00
Sebastian Dröge
332ab9690f Fix typefind test if typefind factories without caps are available 2018-07-19 18:31:43 +03:00
Sebastian Dröge
bc23d6a6cd Ensure that miniobjects are writable before creating a mutable borrow 2018-07-19 18:31:34 +03:00
François Laignel
d20bceb68f 0.11: Fix memory issue building a Sample with an info Structure
This is a workaround to get the fix from PR #113 on branch 0.11 without
breaking the API.
2018-06-12 11:41:53 +03:00
Sebastian Dröge
f9d7c57905 Update versions to 0.11.3 2018-06-08 10:25:41 +03:00
Sebastian Dröge
e1cf5bf9dc Update CHANGELOG.md for 0.11.3 2018-06-08 10:25:24 +03:00
Thibault Saunier
8671731002 Print pointer value when formatting debug strings 2018-06-08 10:09:54 +03:00
Sebastian Dröge
f86941c14f Add Bus::remove_watch()
It was accidentially ignored before
2018-05-19 14:19:50 +03:00
Sebastian Dröge
a81c45eaee Update versions to 0.11.2 2018-05-09 12:44:31 +03:00
Sebastian Dröge
d13aa1ebb1 Update CHANGELOG.md for 0.11.2 2018-05-09 12:44:03 +03:00
Sebastian Dröge
3282c77a6d 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:37:32 +03:00
Sebastian Dröge
8a6725cdb0 Also update version of gstreamer to 0.11.1 2018-04-07 20:33:27 +03:00
Sebastian Dröge
7b772a2799 Update CHANGELOG.md for 0.11.1 2018-04-07 20:21:36 +03:00
Sebastian Dröge
6868eddcb6 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:41:06 +03:00
Sebastian Dröge
9427e75fa4 Add Display impl for StructureRef too 2018-04-07 13:41:05 +03:00
Sebastian Dröge
7c01e1e46f 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-07 13:41:03 +03:00
Guillaume Desmottes
92341e92ca WIP: test Structure string conversions 2018-04-07 13:41:00 +03:00
Sebastian Dröge
7dbe49f609 Update CHANGELOG.md for 0.11.0 2018-03-20 12:47:48 +02:00
Sebastian Dröge
4c13502eec Update versions of all dependencies and point to releases instead of GIT 2018-03-20 12:36:39 +02:00
Sebastian Dröge
68ba4d23bb Update to using the master branch of gstreamer-sys again 2018-03-20 12:04:16 +02:00
Sebastian Dröge
a33fd41d02 Regenerate everything with latest gir 2018-03-20 11:52:29 +02: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
François Laignel
406eb119d3 message: add test_other_fields
Fixes https://github.com/sdroege/gstreamer-rs/pull/93
2018-03-19 10:32:07 +02:00
Sebastian Dröge
3a755219f4 Add Promise bindings 2018-03-19 10:32:07 +02:00
Sebastian Dröge
0112d22804 Various manual 1.14 API additions and remove deprecated functions 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
7f479b0e14 Use correct gstreamer-sys branch 2018-03-19 10:32:07 +02:00
Sebastian Dröge
1abe9cbeb9 Update gstreamer 2018-03-19 10:32:07 +02:00
François Laignel
88a68dff3e Fix futures crate not being pulled with feature dox
When feature `dox` is selected but not `futures`, the `futures` crate is not
available as a dependency leading to a "can't find crate for `futures`" error.
2018-03-19 10:31:41 +02:00
François Laignel
93442e94dd element: add feature gate for test_call_async
Fixes https://github.com/sdroege/gstreamer-rs/pull/92
2018-03-16 17:51:56 +02:00
Sebastian Dröge
11c974a55e Fix some unused import compiler warnings if using < v1_10 2018-03-16 12:28:20 +02:00
Sebastian Dröge
fc7cda4522 Directly dereference DebugCategory struct to read the threshold and #[inline]
This should improve logging performance if the threshold is not high
enough.
2018-03-16 12:27:36 +02:00
Sebastian Dröge
c38af51bf0 Add Element::call_async() bindings 2018-03-14 15:42:17 +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
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
François Laignel
84e4546f72 Toc: implement Debug trait 2018-02-20 19:29:26 +01:00
Sebastian Dröge
f92f0a99e8 Update CHANGELOG.md for 0.10.2 2018-02-18 23:25:11 +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
François Laignel
c971727193 Query: allow concrete query instantiation
Allow instantiating and dereferencing concrete queries. The motivation
for this proposal is to allow the following usability enhancements:

- Concrete queries mutability guaranteed by the borrow checker,
including for generic functions:
``` rust
    let mut p = Query::new_position(::Format::Time);
    p.get_mut_structure().set("check_mut", &true);
```

- Concrete queries functions available in place:
``` rust
    let mut q = gst::Query::new_duration(gst::Format::Time);
    let duration = if pipeline.query(&mut q) {
        Some(q.get_result())
    } else {
        None
    };
```
2018-02-16 10:33:40 +02:00