Commit graph

300 commits

Author SHA1 Message Date
Sebastian Dröge
50a1535771 Add ParseContext bindings and corresponding functions
And use it in the launch example to print more useful error information,
like which elements are missing.
2017-08-17 16:17:02 +03:00
Sebastian Dröge
165d85646f Move futures based BusStream from examples to the bindings
And hide behind the "futures" feature.

Fixes https://github.com/sdroege/gstreamer-rs/issues/26
2017-08-17 13:07:59 +03:00
Sebastian Dröge
8a40fed0a4 Add some badges 2017-08-15 10:30:32 +03:00
Sebastian Dröge
56847216a0 Use byte-slice-cast trait instead of our own minimal version of it 2017-08-14 20:45:35 +03:00
Sebastian Dröge
b392c82ba9 Use gstreamer-video API in appsrc example and make frame generation a bit more efficient 2017-08-11 17:59:05 +03:00
Sebastian Dröge
b655c838b2 Add helper for converting a raw audio buffer to an array of integers/floats 2017-08-11 17:09:32 +03:00
Sebastian Dröge
4276cb6228 Simplify player example a bit 2017-08-11 15:48:12 +03:00
Philippe Normand
1e12354cd5 GstPlayer: make it build and add simple example 2017-08-11 15:42:28 +03:00
Sebastian Dröge
c36c8189ce Add example to playbin example about how to connect/emit dynamic signals
... and get the audio track's tags whenever they change.
2017-08-11 15:31:59 +03:00
Sebastian Dröge
1a3b556fb6 Make Buffer map bindings more simple and consistent 2017-08-11 15:20:43 +03:00
Sebastian Dröge
07e9383ddf Simplify toc example a bit
There's not need for checking audio/video if both are going directly to
a fakesink anyway.
2017-08-09 19:40:20 +03:00
fengalin
04f09ebc86 Add bindings for GstToc/TocSetter
https://github.com/sdroege/gstreamer-rs/pull/22

Fixes https://github.com/sdroege/gstreamer-rs/issues/10
2017-08-09 19:38:39 +03:00
Sebastian Dröge
5cd94a279e Minor simplification in gtksink example 2017-08-07 18:59:44 +03:00
Sebastian Dröge
8accac8d75 Clean up gtksink example imports a bit 2017-08-07 14:18:24 +03:00
Sebastian Dröge
be6f03a1af Use SendCell from the newly created crate 2017-08-04 22:57:12 +03:00
Sebastian Dröge
43a014b6fa Add into_inner() / try_into_inner() functions for SendCell 2017-08-04 20:23:51 +03:00
Sebastian Dröge
5676aeb3ef Add a borrow() function to SendCell
To allow doing the thread check only once for performance reasons.
2017-08-04 19:56:39 +03:00
Sebastian Dröge
c23498039d Clean up SendCell implementation and implement some more traits
For moving it elsewhere later as public API.
2017-08-04 18:31:54 +03:00
Sebastian Dröge
0dcf9c2be7 Move gtksink example to GtkApplication
And have an example for using GTK objects from closures that require Send
2017-08-04 17:42:08 +03:00
Sebastian Dröge
c9423471b0 Fix some clippy warnings in the examples 2017-08-04 15:36:12 +03:00
Philippe Normand
7326377f5f examples: app*: refactor error enum to a utils module
The module also contains create_element, link_elements and set_state functions
to help reduce boilerplate.
2017-08-04 15:09:29 +03:00
Philippe Normand
e218f7a93c examples: appsink: improved error handling
The program should now exit gracefully with human readable messages.
2017-08-03 19:48:26 +03:00
Philippe Normand
50e6e2e108 examples: appsrc: improved error handling
The program should now exit gracefully with human readable messages.
2017-08-03 18:09:29 +03:00
Sebastian Dröge
b08a101cc6 Fix clippy warnings in the examples 2017-08-02 20:15:16 +03:00
Sebastian Dröge
594418e1f4 Add appsink example 2017-08-01 21:45:26 +03:00
Sebastian Dröge
dc640249ef Add simple appsrc example 2017-08-01 21:30:51 +03:00
Sebastian Dröge
23ef3c1f08 Add a function to unset the Bus' current sync handler
And use it in the Tokio example to unset the handler once the BusStream
is dropped.
2017-08-01 20:52:29 +03:00
Sebastian Dröge
e55c7d4088 Rename ObjectExt trait to GstObjectExt
This works around a bug in the compiler with multiple traits having the
same name, but being re-exported with a different one.

https://github.com/gtk-rs/glib/issues/211
2017-08-01 14:04:42 +01:00
Sebastian Dröge
38496eca7d Pass events by value instead of reference 2017-08-01 13:59:12 +01:00
Sebastian Dröge
96a0668c5f Add playbin example 2017-07-31 16:24:30 +01:00
Sebastian Dröge
db1f0f7bfb Add Bus / Tokio example 2017-07-31 14:16:03 +01:00
Sebastian Dröge
03285a6311 Run everything through latest rustfmt-nightly 2017-07-31 12:16:42 +01:00
Sebastian Dröge
d0ac8b7fd3 Add gtksink example 2017-07-31 12:09:59 +01:00
Sebastian Dröge
f06bc0d6ef Add event example and clean-up event/message constructor API 2017-07-30 15:49:25 +01:00
Sebastian Dröge
2c949a9a05 Add Event bindings
And make Message bindings more consistent
2017-07-30 15:06:44 +01:00
Sebastian Dröge
945d136acb Cleanup pad probes examples a bit 2017-07-29 16:15:00 +01:00
Sebastian Dröge
0c3c4166e4 Add example for pad probes 2017-07-29 15:57:01 +01:00
Sebastian Dröge
77912e7164 Add example doing queries 2017-07-29 15:33:26 +01:00
Sebastian Dröge
aadf2e3b30 Move examples into bin subdirectory to simplify Cargo.toml 2017-07-25 01:33:54 +03:00
Sebastian Dröge
a94d4d583d Re-export gst::ObjectExt as gst::GstObjectExt to prevent conflict with glib::ObjectExt 2017-07-13 10:36:38 +03:00
Sebastian Dröge
6461be1372 Convert launch examples to get the pipeline string from the commandline 2017-07-11 21:21:56 +03:00
Sebastian Dröge
9cfb83d6a2 Add Source support to GstBus, and the sync message handler 2017-07-11 19:29:16 +03:00
Sebastian Dröge
4c5aa49fa2 Run manual code through rustfmt 2017-07-11 00:33:24 +03:00
Sebastian Dröge
c0707bed94 Add initial caps bindings 2017-07-11 00:11:55 +03:00
Sebastian Dröge
9ae4a4f862 Add launch example using the GTK main loop 2017-07-05 19:10:58 +03:00
Sebastian Dröge
8f8ba45588 Use Object::set_property() instead of unsafe code for setting filesrc location 2017-07-05 15:18:25 +03:00
Sebastian Dröge
291f329fc3 Add Element::add_many(), ::remove_many(), Bin::link_many(), ::unlink_many() 2017-07-05 11:11:45 +03:00
Sebastian Dröge
e3902bbbf6 Add decodebin example and add some missing API for it 2017-07-05 10:40:02 +03:00
Sebastian Dröge
cb26c0aaed Remove some useless message code 2017-07-03 18:45:59 +03:00
Sebastian Dröge
fc8046b9bd Implement simple example application and clean up API 2017-07-03 18:08:43 +03:00