Sebastian Dröge
4b3d9f586e
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/1339 >
2023-11-07 10:43:20 +02:00
Sebastian Dröge
f471501df5
gstreamer: meta: Add MetaRef::copy()
for copying a meta between buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1338 >
2023-11-03 11:55:20 +02:00
Sebastian Dröge
eb6d3a6c6c
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/1338 >
2023-11-03 11:49:41 +02:00
Sebastian Dröge
86d470e82c
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/1338 >
2023-11-03 11:48:23 +02:00
Sebastian Dröge
e84af103a1
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1335 >
2023-11-02 15:09:20 +02:00
Sebastian Dröge
339bec6aef
Update gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1335 >
2023-11-02 15:08:17 +02:00
Fabian Orccon
b901322c46
gstreamer: rank: Do not implement gst::Rank as enum
...
Rank is not limited to known types like GST_RANK_NONE,
GST_RANK_MARGINAL, GST_RANK_SECONDARY and GST_RANK_PRIMARY, but it
can be whatever arbitrary number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1327 >
2023-11-02 13:32:00 +02:00
Sebastian Dröge
4a015d94af
Use let-else instead of match for weak reference upgrades
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1333 >
2023-10-30 11:00:58 +02:00
Sebastian Dröge
fc4a0d29c6
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/1333 >
2023-10-30 11:00:58 +02:00
Marc Wiblishauser
130dc49b22
gstreamer-tag: Introduce gstreamer-tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1330 >
2023-10-27 13:27:26 +03:00
Sebastian Dröge
bd4122e334
gstreamer: error: Allow using variable expansion in loggable_error!
macro
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/490
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1332 >
2023-10-26 11:49:58 +00:00
Sebastian Dröge
bd9b1d6e38
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/1331 >
2023-10-26 13:41:50 +03:00
Sebastian Dröge
a26fcaf0ad
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/1331 >
2023-10-26 13:41:50 +03:00
Sebastian Dröge
16acea71d4
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/1331 >
2023-10-26 13:41:47 +03:00
Sebastian Dröge
d5ba6c1336
gstreamer: meta: Add some more AsRef
and AsMut
impls
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1331 >
2023-10-26 13:38:07 +03:00
Sebastian Dröge
4d19d7b0b6
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/1329 >
2023-10-25 12:09:45 +03:00
Sebastian Dröge
414019af21
gstreamer: Implement Default
trait for AllocationParams
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1328 >
2023-10-24 15:04:14 +00:00
François Laignel
a41dc25eba
video: fix big endian video format order
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1326 >
2023-10-22 18:24:39 +02:00
Sebastian Dröge
a04ed127af
gstreamer: Fix API typo in owned ReferenceTimestampMeta
reference getter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1325 >
2023-10-16 15:45:12 +03:00
Sebastian Dröge
5312131069
gstreamer: Simplify MetaAPIExt
trait implementation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1325 >
2023-10-16 15:19:52 +03:00
Sebastian Dröge
62f58620b7
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/1324 >
2023-10-16 11:28:18 +03:00
François Laignel
4c8d16d09e
video: fix visibility for VideoVBIEncoder::try_new
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1323 >
2023-10-11 17:53:43 +02:00
Sebastian Dröge
547cfb44e2
gstreamer: Simplify Element::element_class()
implementation a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1322 >
2023-10-11 16:06:20 +03:00
Sebastian Dröge
3f16233a01
gstreamer: Add DeviceProviderClassExt
extension trait for class methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1322 >
2023-10-11 16:06:16 +03:00
Bilal Elmoussaoui
27a0bc5af0
docs/gstreamer: Embed docs for ElementClass functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1322 >
2023-10-11 12:49:51 +00:00
François Laignel
abdd4df415
gst-video: bindings for VideoVBIEncoder & VideoVBIParser
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1319 >
2023-10-09 18:21:16 +00:00
François Laignel
b158ca83f9
gst-video: generate vertical blanking interval related bindings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1319 >
2023-10-09 18:21:16 +00:00
Sebastian Dröge
a2387d1f84
examples: Updates to memmap2 0.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1321 >
2023-10-06 09:08:29 +03:00
Sebastian Dröge
8df470b85c
ci: Update to Rust 1.73
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1320 >
2023-10-06 00:15:45 +03:00
Sebastian Dröge
b42b01ba86
Update CHANGELOG.md for 0.21.1
2023-10-04 13:30:40 +03:00
Sebastian Dröge
3a5f69b64c
gl: Don't autogenerate GL buffer pool configuration functions
...
These need manual bindings.
2023-10-04 10:22:03 +03:00
Sebastian Dröge
a6470f13c9
Fix various new 1.73 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1317 >
2023-10-03 17:44:12 +03:00
Guillaume Desmottes
7bde0285ff
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/1316 >
2023-10-03 11:45:51 +02:00
Sebastian Dröge
d7494bf1db
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/1310 >
2023-10-02 19:50:41 +03:00
Sebastian Dröge
fa3ce573d7
app: Add max-bytes and max-time setters to the AppSink
builder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1310 >
2023-10-02 19:49:10 +03:00
Sebastian Dröge
44602238d9
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1310 >
2023-10-02 19:44:35 +03:00
Sebastian Dröge
c0696d872d
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1310 >
2023-10-02 19:43:18 +03:00
Sebastian Dröge
635b31614c
video: Fix ordering of video formats according to latest libgstvideo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1310 >
2023-10-02 19:39:46 +03:00
Sebastian Dröge
72a5b1bdb9
ci: Update to Rust 1.72.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1310 >
2023-10-02 19:39:46 +03:00
Anders Hellerup Madsen
3e5316c869
gl: implement Debug for GL video frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
f8effdda61
gl: export GLMemory getter methods on GLVideoFrame
...
also change `as_non_null_ptr()` to `as_raw()`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
6eb01dc916
video_frame: refactor traits
...
this adds an IsVideoFrame trait that makes it easier to provide all the
shared methods between VideoFrame, VideoFrameRef, GLVideoFrame and
GLVideoFrameRef. Now only a single method, `as_non_null_ptr()` has to be
implemented and the rest of the shared methods will be provided by the
`VideoFrameExt` trait.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
61d559521b
gl: add memory access functions to GLVideoFrame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
e8387bf4cf
gl: support for writable GLVideoFrame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
4957921cfa
gl: reimplement gl video frame support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:57 +02:00
Anders Hellerup Madsen
2a00236a1f
video: extract common videoframe methods to trait
...
In preparation to make a more specialized VideoFrameGL this extracts
common helper functions valid for all VideoFrames into a trait that can
be implemented without too much code duplication.
Note that this is a breaking change, now VideoFrame and VideoFrameRef
cannot really be used without include the gst_video prelude.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1312 >
2023-10-02 11:33:54 +02:00
Anders Hellerup Madsen
8e3994f641
gl: wrapper for gst_gl_framebuffer_draw_to_texture
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1314 >
2023-09-29 07:07:43 +00:00
Anders Hellerup Madsen
c071d8cba7
gl: wrapper for the gst_gl_context_thread_add function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1313 >
2023-09-29 06:55:47 +00:00
Kalev Lember
a60cb26c27
Add COPYRIGHT and LICENSE files as links into all gstreamer-gl crates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1315 >
2023-09-28 23:22:12 +02:00
Sebastian Dröge
51075c71f6
examples: Update to memmap2 0.8
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1311 >
2023-09-25 13:31:46 +03:00