Commit graph

118 commits

Author SHA1 Message Date
Sebastian Dröge 5ef13a11b0 Fix compiler warning about too many parenthesis 2018-04-23 20:46:29 +03:00
Sebastian Dröge a4c3c7cd76 Add futures example using the GLib futures executor 2018-04-23 20:31:27 +03:00
Sebastian Dröge 4b4f369200 Rename tokio example to futures
It has nothing to do with tokio anymore with the newer futures version,
tokio would only come in if actual tokio API (e.g. for sockets) is used.
2018-04-23 20:27:51 +03:00
Sebastian Dröge 492c3d656c Run everything through rustfmt again 2018-04-01 11:57:58 +03:00
Sebastian Dröge 6d5f7337fc Update version to 0.12.0 2018-03-20 12:37:24 +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 7f479b0e14 Use correct gstreamer-sys branch 2018-03-19 10:32:07 +02:00
Sebastian Dröge cd95920436 Run everything through rustfmt 2018-03-02 21:06:45 +02:00
Thiago Santos c81e177cfb pbutils: add discoverer APIs
Fixes https://github.com/sdroege/gstreamer-rs/pull/84
2018-03-02 21:02:24 +02:00
Mathieu Duponchelle e6265341d5 Add rtsp-server-record example with authentication and TLS
Update the generated files to include TLS related functions,
override some auth and token functions.
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle ab0df6ddf0 examples: use Cargo.toml required-features
This lets us avoid #ifdef forests
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle 45bb8fe3e0 rtpfecserver example: mux-seq property was removed from rtpulpfecenc 2018-02-26 19:19:59 +02:00
Sebastian Dröge 4117c01ff2 Run everything through latest rustfmt-nightly 2018-02-22 11:18:37 +01:00
Mathieu Duponchelle 1fbc5e7644 examples: add rtpfec example
Fixes https://github.com/sdroege/gstreamer-rs/pull/73
2018-02-22 07:45:22 +01:00
Sebastian Dröge 828f639cc7 Fix unused import compiler warning in tokio example 2018-02-21 13:26:07 +01: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
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
fengalin 21c687f256 Examples: message handlers: invoke generic Message method from the concrete message
Generic methods for events, messages and queries can now be invoked from the concrete type.
2018-01-29 17:33:49 +02:00
Sebastian Dröge f4da93aadb Add gst::TagSetter example 2017-12-24 14:49:56 +02:00
Sebastian Dröge 4a5987d03d Update versions to 0.11.0 2017-12-22 15:06:06 +02:00
Sebastian Dröge 9b6efb2339 Fix various clippy warnings 2017-12-20 21:46:58 +02:00
Sebastian Dröge e0dc84c10a Run everything through rustfmt again 2017-12-20 19:30:14 +02:00
Sebastian Dröge 396dae666f Make appsink/appsrc callbacks builder more consistent with other code
Move the constructor of the builder to the main type
2017-12-16 11:37:00 +02:00
Sebastian Dröge 49a6eb6a1f Replace AppSrcCallbacks/AppSinkCallbacks with a builder so that no empty closures have to be provided for unused callbacks 2017-12-10 15:19:44 +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 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 b6d13272df Fix some clippy warnings in examples/tutorials 2017-11-27 14:03:33 +02:00
Sebastian Dröge f1e095eb0e Update versions to 0.10.0 2017-11-26 18:33:12 +02:00
Sebastian Dröge 8014b387c4 Don't list versions for the glib/gtk/gio GIT repositories 2017-11-26 18:32:14 +02:00
Sebastian Dröge e6d72527c4 Switch to failure/failure_derive from crates.io in the examples 2017-11-17 15:08:58 +02:00
Sebastian Dröge f895f484cc Fix up tutorials and examples for Message::get_src() returning an Option now 2017-11-16 13:58:56 +02:00
Sebastian Dröge 86b787ac81 Add failure-based error handling to the decodebin example
This also makes use of directly reporting errors from a callback, by
transferring it via the error message to the main thread.
2017-11-16 13:39:34 +02:00
Sebastian Dröge 4ab5893359 Allow to return something from the examples/tutorials main() wrapper 2017-11-12 20:11:25 +01:00
Sebastian Dröge a01f1385ec examples: Set up a runloop on macOS 2017-11-12 19:07:02 +01:00
Sebastian Dröge 1c0e802bc8 Remove utils module from examples
It's unused now
2017-11-12 10:15:54 +01:00
Sebastian Dröge c9027fb244 Switch appsrc example to failure based error handling 2017-11-12 10:15:37 +01:00
Sebastian Dröge eb99694ed3 Minor cleanup of appsink example 2017-11-11 16:56:37 +01:00
Sebastian Dröge 90700aa9b2 Switch appsink example to failure based error handling 2017-11-11 16:43:29 +01:00
Sebastian Dröge 126159c762 Run everything through rustfmt once again 2017-11-11 13:31:01 +01:00
Zeeshan Ali d18cbe5943 examples: More robust cli arg handling 2017-11-11 12:28:34 +01:00
Sebastian Dröge 246a54368d Clean up Query API a bit
There's now get_result() instead of get(), and separate getters for only
getting the constructor arguments of each query (otherwise query
handlers will get useless values when trying to answer a query).
2017-11-11 12:27:30 +01: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
Philippe Normand bdcf0246eb player example: Error management with the failure crate 2017-11-11 09:47:48 +01:00
Sebastian Dröge 95204c2294 Add Success/Error variants of #[must_use] enums
And implement basically the Try trait for them. This will be replaced by
the Try trait once it is stable.

Fixes https://github.com/sdroege/gstreamer-rs/issues/44
2017-11-06 11:43:54 +02:00
Sebastian Dröge 0f9241dbb6 Fix unused import compiler warning 2017-10-29 18:14:20 +02:00
Sebastian Dröge 50c8f32961 Clean up player example code a bit 2017-10-26 13:16:06 +02:00
Luis de Bethencourt d94bb0e0fb Unnecessary reference
This creates a reference to a reference, clean it.

Fixes https://github.com/sdroege/gstreamer-rs/pull/48
Fixes https://github.com/sdroege/gstreamer-rs/issues/47
2017-10-24 23:41:48 +02:00
Sebastian Dröge 884c9790ef Fix compilation of GTK examples with latest gio 2017-10-01 16:32:33 +02:00
Sebastian Dröge 19c5556239 Regenerate with latest GIR 2017-10-01 15:52:15 +02:00
Sebastian Dröge d608cff9e9 Fix build with latest GApplication API changes 2017-09-26 10:41:03 +03:00