Marijn Suijten
8e4a561a41
examples: Return anyhow::Result
out of main()
...
It is annoying to see only a single line of error when debugging a chain
of (e.g. `anyhow::Context::context()`-created) errors, and have a
zero exit-code while at it.
Instead Rust supports returning a `Result` type straight from main which
is `Debug`- instead of `Display`-printed, so that - in the case of
`anyhow::Error` - all nested (via `.source()`) `Error`s are printed in
backtrace-like form, and the exit code is appropriately non-zero.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1344 >
2023-11-11 11:34:42 +02:00
Marijn Suijten
40637647b9
gl/egl: Appropriately mark display functions as manual
...
Two functions were manually implemented but not marked as such, leaving
unneeded "TODO call ffi:xxx" markers in the codebase. Also improve the
aliases on the manual implementations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1344 >
2023-11-11 10:52:08 +02:00
Marijn Suijten
9b92261c42
gl: Provide raw handle()
getter function on GLDisplay
...
Having access to the raw handle is useful when sharing the display
and context with an existing application.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1344 >
2023-11-11 10:52:08 +02:00
Sebastian Dröge
a97de245c9
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:48:16 +02:00
Sebastian Dröge
5abf146212
utils: streamproducer: Don't use gst_element_send_event()
in another place
...
It can cause deadlocks thanks to taking the state lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:53 +02:00
Sebastian Dröge
763cddfba6
deny: Add override for duplicated toml_edit dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:46 +02:00
Sebastian Dröge
df223af719
element: Add catch_panic_future()
helper function for subclasses
...
This allows wrapping a future in a way that panics are converted to
error messages on the object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:36 +02:00
Sebastian Dröge
27380d237c
gstreamer: meta: Add MetaRef::copy()
for copying a meta between buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:29 +02:00
Sebastian Dröge
cb150485b1
gstreamer: meta: Add as_meta_ref()
to MetaRefMut
...
This reduces code duplication between `MetaRef` and `MetaRefMut`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:24 +02:00
Sebastian Dröge
7d77858bc8
gstreamer: meta: Give returned tags array an arbitrary lifetime
...
The tags are statically stored.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1342 >
2023-11-10 09:47:12 +02:00
Sebastian Dröge
437ec48ae1
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
03c4721aa3
Use let-else instead of match for weak reference upgrades
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
0a82caa706
tutorials: Use async-channel instead of the glib MainContext channel
...
The latter will be removed in favour of using async code in the future,
and async code generally allows for more flexible message handling than the
callback based MainContext channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
470b727252
gstreamer: meta: Move has_tag()
and tags()
getters to MetaRef
...
On `MetaAPI` only the static meta API type is known and based on that
it's not possible to work with the tags of a specific meta instance's
API.
As the methods take a `&self` anyway they would be expected to check the
value at hand instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
8027269c7b
gstreamer: Simplify MetaAPIExt
trait implementation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
6f52f3e4fa
gstreamer: meta: Add upcast_ref()
function to go from a specific to a generic meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
db2b39d382
gstreamer: meta: Remove useless API on Meta
that can't be called anyway
...
`Meta` only exists inside a `MetaRef` / `MetaRefMut` and that already
provides exactly the same functions for all meta types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
66e822dbf7
gstreamer: meta: Add some more AsRef
and AsMut
impls
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
c5262fa69f
gstreamer: format: Implement some more conversion traits
...
Specifically, `From<$formatted_type> for $inner` and
`TryFrom<$formatted_type> for usize` for some types.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/492
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
08ce9f5b2f
gstreamer: Implement Default
trait for AllocationParams
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
François Laignel
de87e6061e
video: fix big endian video format order
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
c2b5341b8f
gstreamer: Add accessors for PadProbeData
s on PadProbeInfo
...
And make use of it in examples and other code.
This allows to simplify usage a bit in most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
43096963de
gstreamer: Simplify Element::element_class()
implementation a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Sebastian Dröge
3b30546461
gstreamer: Add DeviceProviderClassExt
extension trait for class methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
Bilal Elmoussaoui
7975383e96
docs/gstreamer: Embed docs for ElementClass functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
François Laignel
d3e54789fe
video: fix visibility for VideoVBIEncoder::try_new
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 11:09:35 +02:00
François Laignel
f2a5960c36
gst-video: bindings for VideoVBIEncoder & VideoVBIParser
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 10:46:30 +02:00
François Laignel
b1c7d225b1
gst-video: generate vertical blanking interval related bindings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 10:46:23 +02:00
Sebastian Dröge
08efe21002
examples: Updates to memmap2 0.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 10:46:18 +02:00
Sebastian Dröge
e531c7f565
ci: Update to Rust 1.73
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337 >
2023-11-03 10:46:10 +02:00
Sebastian Dröge
7622ceb03a
ci: Don't run cargo update
as part of the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1334 >
2023-11-02 15:35:28 +02:00
Sebastian Dröge
bc69e3dafd
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1334 >
2023-11-02 15:07:41 +02:00
Sebastian Dröge
7b6ae13008
Update gir to latest 0.18 branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1334 >
2023-11-02 15:07:11 +02:00
Sebastian Dröge
71bbcc00e2
Depend on 0.21.1 of the -sys crates where necessary
2023-10-04 10:24:59 +03:00
Sebastian Dröge
7d5f8e95bf
gl: Don't autogenerate GL buffer pool configuration functions
...
These need manual bindings.
2023-10-04 10:24:59 +03:00
Sebastian Dröge
c407ce825d
Update CHANGELOG.md for 0.21.1
2023-10-04 10:17:15 +03:00
Sebastian Dröge
11699fda0f
Update Cargo.lock
2023-10-04 10:13:54 +03:00
Sebastian Dröge
4e9b155b90
Update versions to 0.21.1
2023-10-04 10:13:26 +03:00
Sebastian Dröge
66a0e36e22
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:47:43 +03:00
Sebastian Dröge
f525e7cea7
Drop 0.20 docs to reduce disk usage requirements
...
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/482
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:43:12 +03:00
Sebastian Dröge
6a41f4b9b5
ci: Build 0.21 docs and drop 0.19 docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:43:12 +03:00
Sebastian Dröge
44facc5a82
Regenerate with latest gir / gir-files / gst-gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:42:05 +03:00
Sebastian Dröge
1a4a725793
Update gir-files to latest 0.18 branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:40:10 +03:00
Sebastian Dröge
e1fd8b36c8
Update gir to latest 0.18 branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:54 +03:00
Sebastian Dröge
73a6aa1f26
Fix various new 1.73 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:42 +03:00
Guillaume Desmottes
6c6384e9cd
gst-utils: prevent dead lock when requesting key unit
...
Sending the UpstreamForceKeyUnitEvent using gst_element_send_event()
internally takes the state lock. If appsink is pre-rolling we are also
holding the preroll lock.
This may result in a dead lock with the thread doing the state change as
this one takes the state lock and then the pre-roll lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:37 +03:00
Sebastian Dröge
3c7ace5451
gst: Add CustomMeta::register_simple()
...
As a wrapper around the 1.20 `gst_meta_register_custom()` instead of the
new 1.24 convenience function to make it available to more versions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:31 +03:00
Sebastian Dröge
fcad4e5aa3
app: Add max-bytes and max-time setters to the AppSink
builder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:25 +03:00
Sebastian Dröge
8c384e387a
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:18 +03:00
Sebastian Dröge
f8893ec6fb
video: Fix ordering of video formats according to latest libgstvideo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1318 >
2023-10-03 19:39:12 +03:00