Sebastian Dröge
a90aed0d41
examples: Update to memfd 0.5
2022-04-06 11:05:05 +03:00
Sebastian Dröge
ae234bb01e
examples: Implement gst::ChildProxy
interface in cairo compositor example
2022-03-30 21:41:28 +03:00
Sebastian Dröge
208e1ef7a4
examples: Simplify cairo compositor example a bit and improve/add comments.
2022-03-23 10:27:08 +02:00
Sebastian Dröge
21dbe86c8e
examples: Add a Cairo-based compositor example based on VideoAggregator
2022-03-22 19:00:32 +02:00
Christian Meissl
163130cad7
Extend examples to showcase the use of the FdMemoryAllocator
2022-03-12 14:19:40 +00:00
Sebastian Dröge
0f22eb7633
Remove now unnecessary Send+Sync
impls for element/etc subclasses
...
This is now automatically implemented.
2022-02-28 18:25:15 +02:00
Sebastian Dröge
bf660cf22a
Update minimum supported Rust version to 1.57
2022-02-22 00:00:39 +02:00
François Laignel
972c4e75ac
remove gst_ prefix for log macros
...
It's quite quite common to use similar macros in the form `log::debug!`
or `glib::clone!`. This MR renames the gst log macros so that we can
`gst::debug!` instead of `gst_debug!` and whithout the need for
`use gst::gst_debug`.
2022-02-21 18:56:06 +01:00
Sebastian Dröge
98e12e835a
examples: Update to image 0.24
2022-02-09 13:15:13 +02:00
Sebastian Dröge
1ebfaee644
examples: Make use of glib::closure!
for the overlay-composition example
2022-01-24 13:13:24 +00:00
Sebastian Dröge
8fa1076dfa
Replace Foo::from_instance(foo)
with foo.imp()
2022-01-17 19:34:06 +02:00
Sebastian Dröge
7444975421
Update versions to 0.19.0
2022-01-15 20:21:53 +02:00
Sebastian Dröge
ce1a25a128
examples: overlay-composition: Use cairo's new ImageSurfaceDataOwned
to get rid of unsafe code
2022-01-14 21:47:08 +02:00
Sebastian Dröge
605c633579
Ignore clippy::non_send_fields_in_send_ty
lint
...
It's useless in its current shape and wrongly triggering on all types.
See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-13 23:38:11 +02:00
Sebastian Dröge
33f75191d5
examples: Update to glutin 0.28
2021-12-03 10:21:10 +02:00
Sebastian Dröge
7cc1523e7d
Fix a couple of new clippy warnings
2021-12-02 22:39:57 +02:00
Sebastian Dröge
f31aa2efee
examples: Update for glib::Boxed
derive macro rename
2021-11-22 10:54:52 +02:00
Sebastian Dröge
27613a8901
examples/tutorials: The get-XXX-tags
signals on playbin can return a None
taglist
2021-11-21 18:38:39 +02:00
Bilal Elmoussaoui
1ffcea4da7
manual changes post ObjectExt::emit_by_name update
2021-11-21 09:40:27 +01:00
Sebastian Dröge
1480c65c32
examples: Use VideoFrame API in thumbnail example, use RGBX as format and correctly handle stride
2021-11-08 21:23:23 +02:00
Bilal Elmoussaoui
e3a65a3a88
gst object: add a panicking variant of set_property_from_str
...
Similar to what was added to ObjectExt
2021-11-08 14:42:59 +01:00
Bilal Elmoussaoui
213020165a
manual changes post ObjectExt improvements
2021-11-08 14:42:59 +01:00
Bilal Elmoussaoui
0d009bca31
regen with latest gir
2021-11-08 14:42:59 +01:00
Sebastian Dröge
220c500799
gstreamer: Add numer()/denom() functions to gst::Fraction to get the values by value instead of reference
2021-11-06 00:23:07 +02:00
Sebastian Dröge
cdfe4b3d67
Remove unneeded std::convert::TryFrom/TryInto and std::str::FromStr imports
2021-10-31 18:20:31 +02:00
Sebastian Dröge
c00a97f5ec
Update to Rust edition 2021 and minimum supported Rust version 1.56
...
Also update CI image to use meson 0.60.
2021-10-31 11:47:34 +02:00
Sebastian Dröge
42feed5441
examples: Remove unnecessary MainContext::push_thread_default()
2021-10-25 09:54:33 +00:00
Sebastian Dröge
92f9f3be39
Remove various unnecessary & from property/structure field related code
2021-10-24 20:52:23 +03:00
Sebastian Dröge
b4a3738b82
Move more code to caps/structure builders
...
Instead of the new() functions requiring slices. The code reads cleaner.
2021-10-24 18:57:15 +03:00
Sebastian Dröge
8cc018c164
examples: Move to the new, simplified encoding profile API
2021-10-24 18:45:38 +03:00
Sebastian Dröge
7f0ca0011c
Add gst::GstObjectImpl, gst::ProxyPadImpl, gst_audio::AudioBaseSrc, gst_audio::AudioBaseSink subclassing traits
...
These were missing from the type hierarchy previously and are now
required because of more strict checks in the GLib bindings.
2021-10-23 11:59:03 +03:00
Sebastian Dröge
febd0ee144
Declare the minimum supported Rust version in Cargo.toml
2021-10-18 19:30:37 +03:00
Sebastian Dröge
37c3d2d8e0
Update for glib::source_remove() removal
2021-10-12 09:30:10 +03:00
Marijn Suijten
64ec364259
examples/player: set_uri now allows None to be passed in
2021-09-21 09:58:07 +02:00
Vivienne Watermeier
acb2a9e522
add option to ges.rs to render to a file instead
2021-09-10 20:13:29 +00:00
Sebastian Dröge
bdccaeee0d
gstreamer: Manually implement Object::set_property_from_str() to be able to catch deserialization errors
2021-08-17 09:12:38 +03:00
Guillaume Gomez
e2264a3f3f
Fix (new) clippy warnings
2021-08-03 10:08:32 +02:00
Sebastian Dröge
b1afc4804a
Fix various needless-borrow clippy warnings
2021-07-30 13:19:24 +03:00
Sebastian Dröge
a091ea201c
examples/tutorials: Use cocoa crate to initialize the shared NSApplication instance
...
This is required for OpenGL to work nowadays on macOS. Simply running an
CFRunLoop on the main thread is not sufficient.
Thanks to Philippe Normand for testing this on macOS and making sure it
actually compiles and works.
2021-07-13 07:42:46 +00:00
Sebastian Dröge
a06cf66e6d
Update versions to 0.18.0
2021-06-29 00:08:16 +03:00
Prakash Duggaraju
0adc8c44df
rtsp-server: Add support for subclassing GstRtspMountPoints
...
Implement MountPointsImpl and MountPointsExt to allow subclassing.
Update the example to show usage.
2021-06-28 09:13:02 +03:00
Sebastian Dröge
7c0fa02ffb
examples: Update to glutin 0.27
2021-06-22 08:55:38 +03:00
François Laignel
e31ce9d07b
Manual ClockTime updates
2021-06-04 22:09:38 +02:00
François Laignel
90bb458e64
Rework ClockTime & FormattedValues
2021-06-04 22:09:38 +02:00
Guillaume Desmottes
7c592a5b9b
examples: manually destroy the GTK window when shutting down
...
Make the leaks tracer happy, allowing us to detect actual leaks.
Fix #341
2021-05-25 11:57:52 +02:00
Guillaume Desmottes
37a352dc35
examples: ensure pipeline is destroyed when application is shutting down
2021-05-25 11:57:52 +02:00
Guillaume Desmottes
10573d882f
examples: gtksvideooverlay: call gst::deinit()
...
Needed so we can use the leaks tracer.
2021-05-25 11:47:14 +02:00
Guillaume Desmottes
c1c06868e9
examples: gtkvideooverlay: use app.quit() to exit properly
...
We can't use gtk::main_quit() as the loop is handled by the
GtkApplication.
2021-05-25 11:47:14 +02:00
Guillaume Desmottes
4ae0168aea
examples: gtksink: call gst::deinit()
...
Needed so we can use the leaks tracer.
2021-05-22 17:38:48 +02:00
Guillaume Desmottes
87fb66f283
examples: gtksink: use app.quit() to exit properly
...
We can't use gtk::main_quit() as the loop is handled by the
GtkApplication.
2021-05-22 17:36:31 +02:00
Guillaume Gomez
6fdf35846e
Update repository URL for gtk-rs "core" crates
2021-05-12 21:21:18 +02:00
Sebastian Dröge
b05b2b3aaa
examples/overlaycomposition: Fix compilation with cairo API changes
2021-05-04 14:28:28 +03:00
François Laignel
49583597ed
manual code: fix-getters-def doc aliases
2021-05-03 20:46:57 +02:00
Marijn Suijten
f89e840d27
Remove redundant prelude imports
...
When importing the prelude of a crate like `gst` the `glib` prelude is
provided too. Shedding these imports saves quite a few lines and
adheres to keeping it simple; we're not reexporting base/parent preludes
for no reason :)
2021-04-29 12:05:13 +02:00
Bilal Elmoussaoui
890cd03632
manual renames of to_glib into into_glib
2021-04-27 19:44:41 +02:00
Sebastian Dröge
eda1d3d4a7
Update for Value trait refactoring
2021-04-25 14:45:08 +03:00
yatinmaan
15295f299f
examples: Use .set_property_from_value for setting flags from Value
2021-04-22 16:00:19 +00:00
François Laignel
1395d773c3
manual fixes remove get prefix round 2
2021-04-20 18:18:02 +02:00
François Laignel
6ab9164dca
fix-getters-calls 0.3.0 pass
2021-04-20 18:18:02 +02:00
François Laignel
e80a29372a
fix-getters-def 0.3.0 pass
2021-04-20 18:18:02 +02:00
Marijn Suijten
6c3cc3c422
examples: Add simple mirror effect implemented as GLFilter element
2021-04-17 11:01:53 +02:00
Marijn Suijten
430d89539e
examples: Separate common windowing logic from glupload
...
This allows to implement more GL-based examples reusing the same
pipeline and rendering logic.
2021-04-17 07:54:40 +00:00
François Laignel
99616ec0b4
post fix-getters manual updates
2021-04-13 17:54:40 +02:00
François Laignel
53be8e5f58
fix-getters-{def,calls} pass
2021-04-13 17:54:40 +02:00
Marijn Suijten
a65d2df25c
examples: Application::new always returns an application without Result
...
Since https://github.com/gtk-rs/gtk-rs/pull/447 , supposedly the native
function is never returning a `NULL` `Application` hence it makes little
sense to handle an "unreachable" error here.
2021-04-12 10:28:16 +02:00
Marijn Suijten
1609a7c923
examples/glupload: Replace separate mpsc channel with winit UserEvent
2021-04-11 01:09:28 +02:00
Marijn Suijten
5e8634e9eb
examples/glupload: Update glutin to 0.26 with winit 0.24
...
Winit 0.19 uses uninitialized variables which is invalid since Rust
1.48, leading to a runtime panic [1]. Updating to the latest version
resolves these issues but requires significant refactoring since the
event loop now runs entirely within a closure.
[1]: https://github.com/rust-windowing/winit/issues/1811
2021-04-11 01:08:59 +02:00
Marijn Suijten
8ab8f00005
examples/glupload: Allow EGL and Wayland features to coexist
...
If EGL and Wayland were both set the Wayland bit of code would never be
build-tested nor used. Now if both are enabled try to acquire a
GLDisplay through both handles before bailing. The methods can still be
tested in isolation by not enabling one or the other feature.
2021-04-10 20:20:49 +02:00
Marijn Suijten
28cfa91b40
examples/glupload: Close the window when Escape is pressed
2021-04-10 16:55:27 +02:00
Marijn Suijten
a310cf8842
examples: Remove features
from [[bin]]
...
Solves the following warning:
gstreamer-rs/examples/Cargo.toml: unused manifest key: bin.31.features
Enabling features when a single bin is built is not supported, and users
would have to manually select desired features anyway: -wayland cannot
be used in conjunction with -egl thanks to the cfg_if.
2021-04-10 16:51:50 +02:00
Marijn Suijten
d8cd01027e
examples: Fix some typos
2021-04-10 13:42:04 +02:00
Sebastian Dröge
8da8e31d63
examples: Update for gio::Application::run() API simplification
2021-04-08 10:36:05 +03:00
Sebastian Dröge
ea239c587e
Store panic information not in a custom instance struct but in the instance data provided by the subclassing infrastructure
...
This scales better as there will only be only such data instead of two
or more when having deeper class hierarchies with multiple Rust
elements, and also makes it unnecessary to use a special instance struct
so the default works well.
2021-03-09 16:36:35 +02:00
Sebastian Dröge
b8c20c07ce
Update for new #[glib::object_subclass] attribute macro
2021-03-07 13:08:06 +02:00
Sebastian Dröge
8b71f5331a
examples/tutorials: Update for new Bus::connect_message() API that takes signal details
2021-02-28 19:08:50 +02:00
Sebastian Dröge
a316d610eb
gstreamer: Update for glib::Type API changes
2021-02-25 12:49:47 +02:00
Sebastian Dröge
cc6a51e73d
examples: Improve custom-meta example to pass initialization into the init function via the params parameter
2021-02-24 14:20:45 +00:00
Sebastian Dröge
b5d5838d96
examples/tutorials: Change from emit() to emit_by_name()
...
And set_property_generic() to set_property_with_value()
2021-02-22 17:28:05 +02:00
Sebastian Dröge
8d685a77c2
examples/glupload: Get rid of unnecessary Result-wrapping
2021-02-11 19:32:04 +02:00
Zeeshan Ali
7a014e4024
rtsp_server: RTSPServer::attach() is fallible
...
If we don't handle the case of RTSPServer::attach() failing, we end up
with a panic. Unfortunately, we don't get any details from the
underlying call so we've to live with a generic error. :(
2021-02-04 22:04:39 +01:00
Sebastian Dröge
86cc982982
examples: Check for cairo::Context::{save,restore}() failing
2021-01-31 11:01:47 +02:00
Sebastian Dröge
0d5a488b86
examples: Remove two now-unused imports
2021-01-29 10:18:10 +02:00
Sebastian Dröge
e11b12df7c
gstreamer: Provide class metadata, pad templates and basetransform configuration via trait methods
...
This is closer to how this works in Python and also how properties and
signals work now in the glib bindings.
class_init() only has to be implemented for more special uses now.
2021-01-25 13:56:55 +02:00
Sebastian Dröge
53aae7ddba
Remove gst_ prefix from all macros except for the logging macros
...
The latter stay e.g. gst_debug! to be more clear and not conflict with
e.g. the debug! macro from the log crate.
2020-12-20 19:40:34 +02:00
Sebastian Dröge
ce1148b474
Update everything for glib macro renamings
2020-12-18 00:56:47 +02:00
Sebastian Dröge
f3b5340875
Update for new simplified glib::Object::new() API
2020-12-17 17:43:17 +02:00
Guillaume Gomez
fb56af8d84
Update from_glib calls and put them in unsafe blocks
2020-12-08 15:50:15 +01:00
Marijn Suijten
9ff39bae6f
audio,video: Use autogenerated Display impl
2020-12-07 12:12:16 +01:00
Marijn Suijten
75bcc8402d
example/glupload: Update to separated GL windowing crates
2020-11-28 11:15:22 +01:00
Sebastian Dröge
1b288add4c
examples: Fix build
2020-11-22 19:15:21 +02:00
Sebastian Dröge
3d3bdf9aa3
gstreamer-rtsp-server: Make virtual methods take wrapper of type, not parent
2020-11-14 19:39:27 +02:00
Sebastian Dröge
145f0ed6f5
gstreamer-base: Make virtual methods take wrapper of type, not parent
2020-11-14 19:39:27 +02:00
Sebastian Dröge
1d53b66858
Fix compilation with GLib subclassing changes
2020-11-14 19:39:27 +02:00
Sebastian Dröge
be2f5c690b
examples/rtsp-server-subclass: Fix some clippy warnings
2020-11-12 10:20:31 +02:00
Sebastian Dröge
447e53bcca
examples: Update for simplified glib_wrapper! macro for subclasses
2020-11-05 16:41:48 +02:00
Sebastian Dröge
c833e9ed69
Update dependency paths
2020-10-30 18:27:22 +02:00
Sebastian Dröge
b5c376d315
Move every gtk-rs dependency to the combined gtk-rs repository
2020-10-30 18:15:53 +02:00
Sebastian Dröge
a6c8fe0c8a
Use repr(transparent) where it is more correct and get rid of some unneeded repr(C)
2020-10-24 17:09:10 +00:00
François Laignel
d815e85440
examples/debug_ringbuffer requires feature v1_14
2020-10-20 23:40:18 +02:00
Sebastian Dröge
ba719ac90c
Update for glib changes in glib::Value handling
2020-10-20 13:50:35 +00:00