Commit graph

2814 commits

Author SHA1 Message Date
Sebastian Dröge 40dcdcbf5c gstreamer: Simplify error/warning/info message builders 2022-04-21 15:03:50 +03:00
Vivienne Watermeier 61a3f5296c video: Fix de/serialization for empty modifier states
Empty modifier states are now de/serialized from/to the empty string;
This also adds more thorough testing for deserializing.
2022-04-14 18:19:56 +02:00
Mathieu Duponchelle f095b6f0ba rtp_buffer: bind buffer getters
* Expose the buffer field, useful to look up flags and meta

* Expose the payload_buffer API, useful to avoid copies, for instance
  when storing in an adapter

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1008>
2022-04-14 13:31:28 +00:00
Mathieu Duponchelle af89799e06 rtp: add bindings for RTPBaseDepayload
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1008>
2022-04-14 13:31:28 +00:00
Mathieu Duponchelle 062ceaa00a rtp: add bindings for RTPBasePayload
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1008>
2022-04-14 13:31:28 +00:00
Vivienne Watermeier 3b18f10342 video: Implement De/Serialization for NavigationModifierType
Modifier state is represented by a "+" separated list of lowercase flag
names, or "empty" for no flags.
2022-04-13 14:29:45 +02:00
Sebastian Dröge 8d001d8b16 Stop using glib::SendUnique
It is being removed because it does not add a lot of value.
2022-04-09 11:37:53 +03:00
Jan Alexander Steffens (heftig) 7d2ab1450e gstreamer: Export subclass::TaskPoolFunction
This must be accessible in order to subclass TaskPool.
2022-04-07 17:57:59 +00:00
Sebastian Dröge c82aefd2a4 ci: Run coverage job on the stable image 2022-04-07 18:51:20 +03:00
Sebastian Dröge 680d4af732 ci: Update to Rust 1.60 2022-04-07 18:48:59 +03:00
Sebastian Dröge 4651c9db4d Update minimum supported version to 1.14
This is the version that is available in Ubuntu 18.04.
2022-04-07 12:45:47 +03:00
Sebastian Dröge 5052a93ee3 Fix macOS instructions in other READMEs too 2022-04-07 11:35:40 +03:00
Sebastian Dröge a90aed0d41 examples: Update to memfd 0.5 2022-04-06 11:05:05 +03:00
Vivia Nikolaidou 60a192d525 rustfmt.toml: Add file
This will automatically run `cargo fmt` when a file is saved.
2022-04-06 07:46:29 +00:00
Sebastian Dröge 9a8ca0cadd gstreamer: Add bindings for the new 1.22 selectable query 2022-04-06 10:18:48 +03:00
Sebastian Dröge 627f4d798e gstreamer: Get rid of some duplicated feature cfg attributes 2022-04-06 10:18:48 +03:00
Sebastian Dröge bcf4f63ac6 gstreamer: Don't make the bitrate query available at all with v1_16 2022-04-06 09:51:19 +03:00
Sebastian Dröge d92e49a797 ci: Update image version 2022-04-06 09:39:25 +03:00
Sebastian Dröge b36b63c60a Regenerate with latest gir files 2022-04-06 09:38:34 +03:00
Sebastian Dröge 8dd2af610f Update gir files 2022-04-06 09:37:27 +03:00
Sebastian Dröge 3532c9adb2 Update GStreamer gir files 2022-04-06 09:36:55 +03:00
Vivienne Watermeier d5e4705605 video: Add builders for navigation events 2022-04-05 19:49:05 +00:00
Vivienne Watermeier 1274a59472 video: update navigation API for recent changes
Add support for the new send_event_simple and event_get/set_coordinates
functions, as well as touchscreen events and modifier state. See:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010
2022-04-05 19:49:05 +00:00
Sebastian Dröge 23e4d1efa8 Regenerate with latest GStreamer gir files 2022-04-05 19:49:05 +00:00
Sebastian Dröge 72027a6d60 ci: Update image version 2022-04-05 19:49:05 +00:00
Sebastian Dröge 89837f0757 Update GStreamer gir files 2022-04-05 19:49:05 +00:00
Sebastian Dröge 8d03a0d032 gstreamer: Complete the Task bindings 2022-04-04 18:56:25 +03:00
Sebastian Dröge 715f7cd6c2 Update CHANGELOG.md for 0.18.7 2022-04-04 16:57:39 +03:00
Sebastian Dröge eed648831d video: Add various VideoFormatInfo/VideoInfo/VideoFrame helper API 2022-04-04 15:50:09 +03:00
Sebastian Dröge 4d002786ec gstreamer: Don't re-export traits from the crate root 2022-04-04 08:51:04 +00:00
Sebastian Dröge 73ab9054c4 Don't use unnecessary RefCell wrappers for FnMut callbacks
They don't add any safety as this is via unsafe code anyway and are not
needed to get mutable references in this context anyway, while adding a
bit of runtime overhead.
2022-04-03 11:15:19 +03:00
Sebastian Dröge 8908d4bc98 video: Add subclassing bindings for VideoAggregatorConvertPad 2022-04-01 11:04:08 +03:00
Sebastian Dröge 5c14350079 audio: Add subclassing bindings for audioaggregator 2022-04-01 11:04:08 +03:00
Sebastian Dröge e31e2ad9bd audio: Add audioaggregator bindings 2022-04-01 11:04:08 +03:00
Jan Alexander Steffens (heftig) b7afdd4dd0
gstreamer: Add TaskPool bindings and subclassing
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/14
2022-03-30 23:01:21 +02:00
Jan Alexander Steffens (heftig) 44b2eba600
Update gir 2022-03-30 22:36:53 +02:00
Sebastian Dröge ae234bb01e examples: Implement gst::ChildProxy interface in cairo compositor example 2022-03-30 21:41:28 +03:00
Vivia Nikolaidou 2c7c46e153 .gitlab-ci.yml: Fix deprecated -Zinstrument-coverage switch 2022-03-30 16:39:16 +03:00
Alejandro González 69599e90d4 Fix macOS PKG_CONFIG_PATH in readme for GStreamer Binaries
I've just installed the latest 1.20.1 GStreamer .pkg on a macOS GitHub
Actions CI runner and it turns out that no
/Library/Frameworks/GStreamer.framework/Versions directory exists. A
/Library/Frameworks/GStreamer.framework/1.0 directory is installed
instead, which is more consistent with the GStreamer distributions for
other OSes, and works well enough to get pkg-config working.
2022-03-28 11:47:47 +02:00
Sebastian Dröge 07be60a22f Don't unnecessarily borrow dereferenced values explicitly
warning: this expression borrows a value the compiler would automatically borrow
  --> gstreamer-rtsp-server/src/rtsp_session_pool.rs:16:5
   |
16 |     (&mut *func.borrow_mut())(&from_glib_borrow(pool)).into_glib()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(*func.borrow_mut())`
   |
   = note: `#[warn(clippy::needless_borrow)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2022-03-24 12:40:52 +02: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
Sebastian Dröge c251ca5bc3 video: Add subclass bindings for VideoAggregator 2022-03-22 19:00:32 +02:00
Sebastian Dröge fbe0728da5 video: Add bindings for VideoAggregator 2022-03-22 19:00:32 +02:00
Sebastian Dröge 215cdfd548 video: Allow converting a VideoFrame into an FFI GstVideoFrame 2022-03-22 19:00:32 +02:00
Sebastian Dröge 2943c310cd base: Fix signature of Aggregator::connect_samples_selected()
The first argument is not a random aggregator type but the type that was
used to connect to the signal.
2022-03-22 19:00:32 +02:00
Philippe Normand cd2e3aa7f1 allocators: Fix manual ABI test
Fixing this build error:
In file included from tests/layout.c:6:
tests/manual.h:3:10: fatal error: gst/base/base.h: No such file or directory
    3 | #include <gst/base/base.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
test cross_validate_layout_with_c ... FAILED
In file included from tests/constant.c:6:
tests/manual.h:3:10: fatal error: gst/base/base.h: No such file or directory
    3 | #include <gst/base/base.h>
      |          ^~~~~~~~~~~~~~~~~
2022-03-21 16:48:42 +00:00
Jordan Petridis e6dc3f5b3e ci: Patch the gtk4 build in the CI image so it builds
wayland-protocols 1.25 subproject fails to build on
debian 11, but in general switch subprojects to stable
branches.

Upstream MR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4580
2022-03-17 18:05:13 +02:00
Sebastian Dröge 609a744d6c Regenerate autogenerated bindings 2022-03-17 18:05:13 +02:00
Sebastian Dröge 3fbe37a2ec video: Add VideoFormatInfo::extrapolate_stride() 2022-03-17 18:05:13 +02:00