François Laignel
953e3747f2
Pad: allow building a Pad with an automatically generated name
...
For convenience, the `Pad` builder checks a name is provided when a wildcard-
named template is used. For `GhostPad`s, the builder tries to assign the name of
the target `Pad` making sure the provided `name` conforms to the `PadTemplate`.
This commit adds a function to optionally keep the `gst::Object` automatically
generated unique `Pad` name (such as `ghostpad4`) and reorganises name handling
so it is processed when `build` is invoked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1428 >
2024-04-26 09:57:28 +00:00
Sebastian Dröge
e117010bc0
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1427 >
2024-04-25 12:05:49 +03:00
Sebastian Dröge
694d1fd39b
examples: Update to windows 0.56
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1427 >
2024-04-25 12:05:49 +03:00
François Laignel
db03c8edd1
Add field_if_some setter for builder ClockTime fields
...
Optional `ClockTime` fields already implemented their setters in such a way
that they could accept either `Option<ClockTime>` or `ClockTime`. This commit
adds `field_if_some()` setter variants for builder `ClockTime` builder fields
for consistency with other builder fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1424 >
2024-04-17 17:15:41 +02:00
François Laignel
ea25c9262b
Add field_if_some setter for builders
...
This commit adds `_if_some()` variants for builder field setters.
The variants aim at improving usability when setting optional fields.
E.g. currently, we need to write something like:
```rust
let opt_value = ...;
let mut sb = gst::Structure::builder("test")
.field("mandatory_field", "mandatory");
if let Some(value) = opt_value
sb = sb.field("optional_field", value);
}
let s = sb.build();
```
With `_if_some()`, this can be written like this:
```rust
let opt_value = ...;
let s = gst::Structure::builder("test")
.field("mandatory_field", "mandatory")
.field_if_some("optional_field", opt_value)
.build();
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1424 >
2024-04-17 17:15:39 +02:00
Sebastian Dröge
0d872ae6f8
ci: Update to Rust 1.77.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1422 >
2024-04-10 09:00:24 +03:00
Sebastian Dröge
7433ea79c9
ci: Update image version to get a working libvpx on Windows
2024-04-09 12:19:14 +03:00
Sebastian Dröge
46be4a0b1e
examples: Use safe RTSPMediaFactory
role API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1421 >
2024-04-09 06:27:14 +00:00
Sebastian Dröge
43c82da25a
rtsp-server: Add builder API for RTSPToken
for consistency with Structure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1421 >
2024-04-09 06:27:14 +00:00
Sebastian Dröge
da1f53f4c7
ci: tag linter and sanity check jobs as a "placeholder" jobs
...
They hardly use any resources and almost finish immediately.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1420 >
2024-04-09 09:09:51 +03:00
Sebastian Dröge
0524435190
Update CHANGELOG.md for 0.22.4
2024-04-08 16:11:10 +03:00
Sebastian Dröge
917c458a86
ci: Rebuild image to get the flac plugin included on Windows too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1418 >
2024-04-08 08:58:28 +03:00
Sebastian Dröge
5eaa0ca46d
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1418 >
2024-04-08 08:58:10 +03:00
Jordan Petridis
5400979e28
ci: Pin typos-cli to 1.19.0
...
New version includes false positives
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417#note_2358711
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417 >
2024-04-05 12:02:47 +03:00
Jordan Petridis
c43c08804a
typos.toml: Ignore anc
and sys/tests
...
The tests are autogenerated
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417 >
2024-04-05 11:59:08 +03:00
Jordan Petridis
a7ebe45ff3
ci: Add libflac in the debian image
...
So we can build flac elements.
Related: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1401
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417 >
2024-04-04 15:37:42 +03:00
Sebastian Dröge
2b53c55ee6
ci: Update to Rust 1.77.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1416 >
2024-03-29 09:52:23 +02:00
Sebastian Dröge
04c840a1d9
mpegts: Always re-export the contents of the auto module
...
Pre-1.20 it currently has nothing to re-export and would cause clippy
warnings, but like this it won't be forgotten to update the conditions
if new API is added that is available from older versions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1414 >
2024-03-24 11:21:45 +02:00
Piotr Brzeziński
6111663e26
audio: Implement From/ToValue in Audio/VideoConverterConfig
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1408 >
2024-03-22 17:16:48 +00:00
Piotr Brzeziński
7cea7ba6f1
examples: Add audiomixer example with mixing 4 stereo tracks into 8ch output
...
Will be useful to show how to create and set the mix-matrix via our bindings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1408 >
2024-03-22 17:16:48 +00:00
Philippe Normand
e2e38d9494
Fix build warnings after update to Rust 1.77
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1413 >
2024-03-21 15:44:46 +00:00
Philippe Normand
676e41064b
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1413 >
2024-03-21 13:41:23 +00:00
Philippe Normand
4524af89ee
ci: Update to Rust 1.77
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1413 >
2024-03-21 13:40:49 +00:00
Philippe Normand
e5830c2ea9
ci: Update to dav1d >= 1.3.0
...
This is going to be needed for:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1507
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1413 >
2024-03-21 13:40:29 +00:00
Sebastian Dröge
d7fe0709a5
ci: Rebuild image to get fixes for the Windows gst-plugins-rs CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1412 >
2024-03-20 10:49:09 +02:00
Sebastian Dröge
983e8b3308
Update CHANGELOG.md for 0.22.3
2024-03-19 18:13:28 +02:00
Olivier Crête
6aff1773bd
video_meta: Rename transformation to scale
...
This transformation is really only for scaling for now, so let's
make it clearer in the bindings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1397 >
2024-03-19 14:44:57 +00:00
Sebastian Dröge
ebc06257b5
ci: Rebuild image to pull in the GES fixes
...
And follow the 1.24 branch of GStreamer for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:38 +02:00
Sebastian Dröge
86d02890ca
Regenerate with latest gir / gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:38 +02:00
Sebastian Dröge
29c82cd54d
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:38 +02:00
Michiel Westerbeek
c05563d22e
ges: framepositioner: Make positioning properties doubles
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:37 +02:00
Sebastian Dröge
9e80250b49
Use 0.19 branches of gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:37 +02:00
Sebastian Dröge
0b027c853b
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1410 >
2024-03-19 09:57:37 +02:00
Olivier Crête
3246f4fb5b
analytics: Allow empty object type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1407 >
2024-03-13 13:52:37 +00:00
François Laignel
82f6accc31
webrtc: SessionDescription: access the inner SDPMessage as & or &mut
...
`WebRTCSessionDescription` owns its `SDPMessage`. The `sdp()` accessor used to
return a copy of the `SDPMessage` which prevented the user from getting a ref
and by extension from getting a mutable ref for in-place modification.
This commit makes the accessor return a reference to the inner `SDPMessage` and
adds a mutable accessor.
Previous behaviour (getting an owned copy of the `SDPMessage`) is available by
calling `to_owned()` on the reference returned by `sdp()`.
Users who wish to change the type of `WebRTCSessionDescription` can call
`set_type()`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1406 >
2024-03-11 13:03:26 +01:00
François Laignel
ffad1188b9
net: fix faillible PtpClock::new()
...
`PtpClock::new()` can fail in which case it panicked due to an assertion
failure. This commit makes it return a `Result` instead.
Also sets the `name` argument optional, similar to what is done for `NtpClock`.
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6251
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1405 >
2024-03-01 17:39:39 +01:00
Dave Patrick Caberto
353e3d1611
fraction: refer to numer and denom more consistently
...
This also lessens the tendency to confuse num with number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1404 >
2024-03-01 18:30:19 +08:00
Dave Patrick Caberto
b5cb4ae831
fraction: add const new_raw and from_integer methods
...
These are direct counterparts to their respective Rational32 constructors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1404 >
2024-03-01 18:28:39 +08:00
Sebastian Dröge
14576fdf26
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1403 >
2024-02-29 11:32:12 +02:00
Sebastian Dröge
70045a36fb
examples: Update to windows 0.54
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1403 >
2024-02-29 11:31:26 +02:00
Sebastian Dröge
28451435a4
Update CHANGELOG.md for 0.22.2
2024-02-26 14:50:48 +02:00
Sebastian Dröge
fcc7ab6b88
Update CHANGELOG.md for 0.22.1
2024-02-26 14:08:30 +02:00
Sebastian Dröge
18a02f6d34
gstreamer: Update serde flags tests for new ObjectFlags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1401 >
2024-02-26 11:29:19 +00:00
Sebastian Dröge
c5111ddcc2
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1401 >
2024-02-26 11:29:19 +00:00
Sebastian Dröge
d5917be045
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1401 >
2024-02-26 11:29:19 +00:00
Sebastian Dröge
4e6ddf6663
rtp: Add bindings for new RTPBaseDepayload::extensions()
property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1401 >
2024-02-26 11:29:19 +00:00
Sebastian Dröge
ab0a29b765
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1401 >
2024-02-26 11:29:19 +00:00
Guillaume Desmottes
8062a8748f
ci: rebuild images to update GStreamer
...
Pick GStreamer 1.23.90 as it requires to build the new uriplaylistbin
version, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1400 >
2024-02-26 09:09:00 +01:00
Sebastian Dröge
28fe70f479
rtpheaderextension: Don't pass a mutable output buffer reference to write()
...
The extension is only supposed to use it for potentially reading metas
from it, and `GstRTPBasePay` is currently passing the same buffer as the
one that owns the data so we currently end up with the possibility to
e.g. resize the buffer which would invalidate the data.
This change prevents at least the biggest problems, but would still
allow getting an immutable and mutable reference to the same data with a
bit of effort.
See also https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/375
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1399 >
2024-02-22 12:17:13 +02:00
Sebastian Dröge
c8b98dde8c
gstreamer: bus: Handle all previously queued messages too in the BusStream
...
Before the stream was created, some messages might've been queued on the
bus. For more similar behaviour with the bus watch, first pop all the
queued messages before handling new messages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1398 >
2024-02-21 12:09:14 +02:00