Sebastian Dröge
8d0a0ee6b1
Directly use byte-slice-cast on the mapped buffer
...
No need to first get a byte slice from it anymore due to the buffer map
implementing AsRef/AsMut for byte slices
2018-06-01 11:55:13 +03:00
Sebastian Dröge
dc219af36e
Add another comment to the appsrc example about the need-data callback not being mandatory
2018-05-18 11:42:24 +03:00
Sebastian Dröge
7734725da1
Change appsrc example to directly push data from the need-data callback
...
There's no need to start yet another thread just to push data in this
case, we can simply use the callback and store the frame counter in the
mutable environment of the closure.
2018-05-18 11:38:50 +03:00
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
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
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
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
Sebastian Dröge
ce5c01a88e
Implement gst::Iterator as a generic type to not require using glib::Values everywhere
2017-09-17 18:45:38 +03:00
Sebastian Dröge
8085c4ce8e
Add gst::Iterator example with Resync handling
2017-09-17 14:59:01 +03:00
Sebastian Dröge
f1025170d9
Use while-let and CLOCK_TIME_NONE for the bus.timed_pop() loops in the examples/tutorials
2017-09-13 19:35:35 +03:00
Sebastian Dröge
0f5f55c64d
Fix various clippy warnings in examples
2017-09-10 15:27:53 +03:00