Matthew Waters
b045708353
ci: run tests with RUST_BACKTRACE=1
...
Produces backtraces which would allow some initial debugging on hard to
find issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1454 >
2024-06-06 11:55:37 +00:00
Tim-Philipp Müller
c545154472
log: fix panic when using a log id with a formatted log message
...
Would panic because of a missing NUL terminator:
thread '<unnamed>' panicked at .. glib/src/gstring.rs:61:9:
assertion failed: !bytes.is_empty() && bytes[bytes.len() - 1] == 0
3: glib::gstring::GStr::from_utf8_with_nul_unchecked
4: gstreamer::log::DebugCategory::log_id_unfiltered_internal
at gstreamer-rs/gstreamer/src/log.rs:465
5: gstreamer::log::DebugCategory::log_id_unfiltered
at gstreamer-rs/gstreamer/src/log.rs:425
Also enable logging on the category, so the logging code paths
are actually run here in the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1451 >
2024-06-02 17:32:26 +03:00
Bilal Elmoussaoui
b20ea25147
gst-audio: Add missing doc alias
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450 >
2024-06-02 11:20:55 +02:00
Bilal Elmoussaoui
4ebec84f5e
Adapt to no longer renamed ffi crates
...
Allows us to set all the crates in the main workspace file, so changing
their versions or branch is much simpler and reduce the amount of noise
in the diff
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450 >
2024-06-02 11:20:55 +02:00
Bilal Elmoussaoui
10aff0d66e
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450 >
2024-06-01 15:14:58 +02:00
Bilal Elmoussaoui
9d3ec9da53
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450 >
2024-06-01 15:13:26 +02:00
Sebastian Dröge
413a6baa8c
Update CHANGELOG.md for 0.22.5
2024-05-23 16:06:42 +03:00
Sebastian Dröge
9e2c6268cb
gstreamer: Use usize instead of u32 for various indices
...
This affects buffers, caps, caps features, structures and tag lists and
makes it easier to use them with other Rust APIs that use usize-based
indicing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1445 >
2024-05-22 08:15:08 +00:00
Tim-Philipp Müller
4cda565a39
gstreamer: bufferlist: add another test for foreach_mut
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1446 >
2024-05-22 06:59:40 +00:00
Sebastian Dröge
805cd6c591
gstreamer: bufferlist: Change remove function to take a range instead of index + length
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1444 >
2024-05-21 08:21:17 +03:00
Sebastian Dröge
a0e58ec359
gstreamer: bufferlist: Check index/length when removing a buffer
...
Out of range values give assertions in the C function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1444 >
2024-05-21 08:19:30 +03:00
Sebastian Dröge
9f151466b7
gstreamer: bufferlist: Check for out of range indices before trying to get buffer
...
Passing an index bigger than the length will cause an assertion in the C
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1444 >
2024-05-21 08:11:41 +03:00
Sebastian Dröge
1b537c17c8
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1443 >
2024-05-20 14:06:30 +03:00
Sebastian Dröge
c3619b45aa
Update to itertools 0.13
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1443 >
2024-05-20 14:03:58 +03:00
Seungha Yang
f59029b57c
event: Fix leak in SelectStreamsBuilder
...
gst_event_new_select_streams() does not take ownership of GList
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1442 >
2024-05-16 14:30:52 +00:00
Sebastian Dröge
b468280353
Improve code generation with panic=abort around panic handling code
...
None of that can ever be called in that case but the compiler can't know
that in more complicated cases like these. Handling it explicitly allows
no handling code to be generated at all here, like would already happen
everywhere else.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1441 >
2024-05-16 16:38:15 +03:00
Mathieu Duponchelle
0ef80c4fe7
streamproducer: expose set_forward_preroll() API
...
This is useful to decide whether the preroll sample should be forwarded
to consumers when prerolling or only once it is time to render it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1439 >
2024-05-10 22:46:16 +00:00
Sebastian Dröge
455996c60b
rtsp-server: Fix compilation after from_glib_ptr_borrow()
API improvements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:35:19 +03:00
Sebastian Dröge
83fe420466
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:10 +03:00
Sebastian Dröge
5af4a262b8
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:10 +03:00
Sebastian Dröge
b8dbfc66ca
pbutils: Remove unnecessary nullable override and add override for new API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:10 +03:00
Sebastian Dröge
b15e0e1633
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:10 +03:00
Sebastian Dröge
a430291725
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:10 +03:00
Sebastian Dröge
0ee36ea4b5
ci: Update to rustup 1.27.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:07 +03:00
Sebastian Dröge
a7a0bf226d
ci: Update image version to rebuild it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440 >
2024-05-10 10:09:07 +03:00
Naglis Jonaitis
19ea814a09
examples: Update playbin flag handling snippet
...
Closes #512
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1438 >
2024-05-09 11:45:00 +03:00
Sebastian Dröge
2a9d0d035f
Fix various new 1.78 clippy warnings
...
Quite a bit of API was accidentally not exported but apparently nobody
was using it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1437 >
2024-05-02 18:13:27 +03:00
Sebastian Dröge
1e293e5cb8
ci: Update to Rust 1.78.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1437 >
2024-05-02 16:34:15 +03:00
Sebastian Dröge
fe1fe5b114
gstreamer: Use a reference to a pointer of correct mutability for from_glib_ptr_borrow()
...
This hopefully makes it easier to use and harder to get the returned
lifetime wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1436 >
2024-04-30 15:39:15 +03:00
Sebastian Dröge
238768f525
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
2f99c4c560
rtp: Only use glib::translate
if 1.24 APIs are enabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
9fca740851
ci: Run Linux clippy build with 1.26 APIs enabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
9490735655
ci: Enable gstreamer-mpegts and gstreamer-tag on Windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
81b20b9329
ci: Enable allocators, analytics, play, rtp and validate sys tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
ba4bd5c631
Add 1.26 version features and update 1.24 requirement from 1.23 to 1.24
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
4b79dddc14
video: Remove some unnecessary #[cfg]
attributes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
01b32ce143
video: Add double click mouse event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
873aeff133
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
87cc9fe6e4
Fix or update various overrides in Gir.toml
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:36:37 +03:00
Sebastian Dröge
bac0828260
ci: Rebuild image to get latest GStreamer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:29:04 +03:00
Sebastian Dröge
200d8b1c0c
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1435 >
2024-04-30 12:29:04 +03:00
François Laignel
dc04a53207
ci: test gstreamer-editing-services/sys
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1434 >
2024-04-30 09:52:14 +02:00
François Laignel
0bb334e14c
regen
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1434 >
2024-04-30 09:52:12 +02:00
François Laignel
46226106b4
ges: ignore deprecated PitiviFormatter & PitiviFormatterClass
...
... they cause ABI tests failures and should be ignored.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1425#note_2380648
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1434 >
2024-04-30 09:51:35 +02:00
Nick Steel
b7b5352353
log: Log
trait adapter around the GStreamer debug system
...
Allows usage of normal `log` crate macros, and for other crates
using those macros to have their log messages go to the GStreamer
debug logs.
This implementation is based on the one found in Servo.
Fixes #187
DebugCategoryLogger is optional via 'log' feature
check category above threshold
skip_assert_initialized for constructor and helper
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1426 >
2024-04-29 16:16:47 +01:00
Jordan Petridis
88a6977777
ci: Bump the image tag to rebuild
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1433 >
2024-04-28 10:40:00 +03:00
Jordan Petridis
cb560e59a3
ci: Move GST_UPSTREAM_BRANCH into the images_template.yml
...
Used for determining which version of gstreamer we will build
in the docker images. Move it along ther other variables so
it will be easier to update.
Also change ci/install-gst.sh to avoid hardoding the version
and instead use the variable like the windows build does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1433 >
2024-04-28 10:29:37 +03:00
Sebastian Dröge
241338f43c
audio: video: Improve Display trait impl test for AudioFormat and Video a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1432 >
2024-04-27 16:10:49 +00:00
Sebastian Dröge
5c8a989029
video: Remove nonsensical test
...
Printing an unknown video format returns NULL, and with latest git main
this actually causes a critical warning in addition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1432 >
2024-04-27 16:10:49 +00:00
Sebastian Dröge
57050f66c6
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1429 >
2024-04-27 11:31:11 +03:00
Sebastian Dröge
63654c67da
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1429 >
2024-04-27 11:30:29 +03:00
Sebastian Dröge
70a15e8dbe
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1429 >
2024-04-27 11:30:25 +03:00
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
Olivier Crête
b47aba1837
video_meta: Add a safe wrapper for the VIDEO_TRANSFORM of metas
...
With a test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1388 >
2024-02-16 14:28:26 -05:00
Olivier Crête
28931e2f09
meta: Make a generic transform method with a specific trait for each transform
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1388 >
2024-02-16 14:28:26 -05:00
Sebastian Dröge
1649e268c5
rtp: Add gst::Object as parent class to the various types
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1396 >
2024-02-16 19:49:16 +02:00
Sebastian Dröge
d575cd1f95
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1395 >
2024-02-16 14:24:32 +02:00
Sebastian Dröge
ac275fe10e
Remove Cargo.lock from .gitignore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1395 >
2024-02-16 14:24:32 +02:00
Olivier Crête
b10f395c2c
meta: Add modules containing the tags
...
Export the tags as both quark or string
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1387 >
2024-02-16 08:59:36 +00:00
Benjamin Gaignard
22796cee0c
meta: Add is_registered function for CustomMeta
...
Test if a Meta type is already registered.
It is useful to know if a custom metadata type has already
been registed to avoid registererd twice and get asserts.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1391 >
2024-02-13 08:21:38 +00:00
Sebastian Dröge
7f9dd58718
video: Add AncillaryMeta
bindings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:54:19 +02:00
Sebastian Dröge
798ee29b98
structure: Call _full()
serialize function for GST_SERIALIZE_FLAG_STRICT
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:10:24 +02:00
Sebastian Dröge
040a194700
tags: Add new ContainerSpecificTrackId
tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:09:28 +02:00
Sebastian Dröge
b69fee9abe
Regenerate with new GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:06:44 +02:00
Sebastian Dröge
a87a844604
ci: Rebuild image to get new GStreamer version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:05:41 +02:00
Sebastian Dröge
5d19b26974
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1393 >
2024-02-12 16:05:14 +02:00
Benjamin Gaignard
2613c57739
analytics: Make AnalyticsODLocation members public
...
Get access to AnalyticsODLocation structure members outside
the module is useful if other elements need them.
For example it can be used to draw objects location.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1389 >
2024-02-09 15:35:32 +00:00
Sebastian Dröge
f82b9cc197
meta: Add support for 1.24 Meta
clear function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1390 >
2024-02-09 10:25:32 +02:00
Sebastian Dröge
12c9ada9e0
meta: Fix MetaRefMut::upcast_mut()
to return a mutable reference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1390 >
2024-02-09 10:24:40 +02:00
Sebastian Dröge
a784ea2d0b
ci: Update to Rust 1.76
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1386 >
2024-02-08 17:46:08 +02:00
Sebastian Dröge
90e6108ed7
gstreamer-tag: Reduce number of keywords
2024-02-08 15:37:44 +02:00
Sebastian Dröge
77b2800caf
Publish docs for 0.22 release
2024-02-08 15:24:21 +02:00
Sebastian Dröge
c4636fc0cd
Update Cargo.lock
2024-02-08 15:01:11 +02:00
Sebastian Dröge
6a1441203d
Update versions to 0.23.0
2024-02-08 14:47:20 +02:00
Sebastian Dröge
811e564ff9
examples: Move some more gtk-rs-core dependencies to the workspace
2024-02-08 14:39:58 +02:00
Sebastian Dröge
0eacca7102
Use workspace features for crates metadata in remaining crates
2024-02-08 14:30:43 +02:00
Sebastian Dröge
aab36d9745
Update CHANGELOG.md for 0.22.0
2024-02-08 14:27:28 +02:00
Sebastian Dröge
d96dbef08c
ci: Update image version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1358 >
2024-02-07 18:26:46 +02:00
Olivier Crête
7ec3c8713a
analytics: Add bindings for apps/plugins
...
The whole API to use the Analytics meta is implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1358 >
2024-02-07 12:21:54 +02:00
Sebastian Dröge
36792404a9
ci: Don't install cargo-c
with --locked
on nightly for now
...
Otherwise a version of ahash is used that doesn't build on nightly anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 10:39:23 +02:00
Sebastian Dröge
ebc18ea0b8
deny: Add override for duplicated toml_edit dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 10:29:12 +02:00
Sebastian Dröge
9cf270611f
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 10:28:23 +02:00
Sebastian Dröge
79846af1e6
ci: Rebuild image to update GStreamer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:55:43 +02:00
Sebastian Dröge
90bb9182c2
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:55:42 +02:00
Sebastian Dröge
a3b3017d75
gstreamer: Re-export / manually implement new standalone functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:55:42 +02:00
Sebastian Dröge
e16832a2a8
gstreamer: Update configuration for new standalone functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:52:57 +02:00
Sebastian Dröge
a165f1aa96
Update gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:45:02 +02:00
Sebastian Dröge
e192eac554
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:44:51 +02:00
Sebastian Dröge
a31940a916
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385 >
2024-02-06 09:44:16 +02:00
Martin Robinson
230c906626
Make use of feature(doc_cfg)
conditional on docsrs
consistently
...
`feature(doc_cfg)` is turned on conditionally if `docsrs` is true in
most of the source code, but in some cases this isn't the case. This
change makes that consistent everywhere, fixing the doc build on stable
Rust.
Fixes #506 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1381 >
2024-02-05 10:57:59 +00:00
Sebastian Dröge
fde0c061c2
Switch git dependencies to explicitly name branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1384 >
2024-02-05 12:29:46 +02:00
Sebastian Dröge
a51b5bdfd3
Fix a new clippy warning
...
warning: this bound is already specified as the supertrait of `FusedStream`
--> gstreamer/src/bus.rs:314:15
|
314 | ) -> impl Stream<Item = Message> + Unpin + FusedStream + Send + 'a {
| ^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implied_bounds_in_impls
= note: `#[warn(clippy::implied_bounds_in_impls)]` on by default
help: try removing this bound
|
314 - ) -> impl Stream<Item = Message> + Unpin + FusedStream + Send + 'a {
314 + ) -> impl Unpin + FusedStream<Item = Message> + Send + 'a {
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1383 >
2024-02-05 12:07:15 +02:00
Sebastian Dröge
8230a7ccba
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1383 >
2024-02-05 12:04:39 +02:00
Bilal Elmoussaoui
2dff5b8ae2
Use workspace features for common deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
14ffbfbe83
Use workspace features for crates metadata
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
771dbb4ed5
webrtc: Add missing gst dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
aaea288abf
Adapt to no longer re-exported traits
...
Some of the traits were moved to prelude or translate
and no longer in the main scope of the crate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 10:48:37 +01:00
Bilal Elmoussaoui
cfc1aed3c3
Adapt to renamed ffi crates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 08:56:45 +01:00
Bilal Elmoussaoui
ba91648bd5
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 08:48:44 +01:00
Bilal Elmoussaoui
95c00c4a5c
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1382 >
2024-02-03 08:47:01 +01:00
Sebastian Dröge
193bcbf055
Switch from once_cell to std::sync::OnceLock where it makes sense
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1379 >
2024-01-31 14:59:54 +02:00
Sebastian Dröge
ce5dca918d
examples: Update to termion 3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1379 >
2024-01-31 14:48:32 +02:00
Sebastian Dröge
e6ce8e4f71
deny: Remove unnecessary overrides
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1379 >
2024-01-31 14:48:32 +02:00
Sebastian Dröge
a83680ffeb
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1379 >
2024-01-31 14:48:32 +02:00
Olivier Crête
e13e9a7a7f
Regenerate with updated generator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1380 >
2024-01-29 18:30:49 -05:00
Piotr Brzeziński
446bb7ec3e
examples/tutorials: fix macOS run() wrapper terminating too early
...
Using terminate() kills the whole process instead of just stopping the event loop, so we're back to the 'old' way.
However, if the provided function finishes too early, that can also fail (will call stop() on a not-yet-running NSApp).
Creating a delegate and waiting for the callback makes sure NSApp is running before the actual main() is called.
Also, for whatever reason only tutorials were changed to use terminate(). Now both tutorials and examples are
using identical code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1378 >
2024-01-29 14:15:19 +00:00
Piotr Brzeziński
047f4a3f75
gstreamer: add gst_macos_main()
...
Unlike the C version, this allows for any arbitrary type of return value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1377 >
2024-01-29 13:55:16 +01:00
Sebastian Dröge
c376bfac4d
rtp: Add RTPSourceMeta
bindings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1376 >
2024-01-15 19:04:09 +02:00
Jonas K Danielsson
6cea21617c
gstreamer-video: Add VideoSeiUserDataUnregisteredMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1375 >
2024-01-08 13:11:55 +02:00
Sebastian Dröge
c5357064cf
ci: Update to Rust 1.75
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1371 >
2024-01-07 11:17:47 +02:00
Sebastian Dröge
b5c7c402b9
Add MiniObject::from_glib_ptr_borrow()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1374 >
2024-01-05 22:29:43 +02:00
Sebastian Dröge
e35782a3a4
Add accessor for owned Buffer
to read-mapped AudioBuffer
/ MappedBuffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1374 >
2024-01-05 22:29:37 +02:00
Sebastian Dröge
92064a0c41
Remove &mut BufferRef
getter from write-mapped AudioBuffer
/ VideoFrame
...
This allows invalidating the buffer map.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1374 >
2024-01-05 22:27:07 +02:00
Sebastian Dröge
c66fc90566
Add accessors for various base class fields
...
And fix some other existing accessors to use the correct mutex.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1373 >
2024-01-05 15:56:19 +02:00
Sebastian Dröge
0b4c602c6f
Provide a more convenient function for setting other fields on message/event builders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1372 >
2023-12-31 15:53:10 +02:00
Sebastian Dröge
3b3c3baee5
Fix / work around a few new clippy 1.75 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1370 >
2023-12-22 16:33:41 +02:00
Sebastian Dröge
5fe76aa785
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1369 >
2023-12-22 15:10:36 +02:00
Sebastian Dröge
5f01bcf8f4
buffer: Fix range end calculations
...
And add various tests to cover for this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1369 >
2023-12-22 15:09:31 +02:00
olivierbabasse
60e8c44abb
rtsp server: allow custom authentication
...
Enables subclassing gst_rtsp_server::RTSPAuth and overriding its
authenticate/check/generate_authenticate_header methods
Also add new methods in RTSPContext to retrieve RTSP request/response, and to
get/replace tokens.
Additionally, added RTSPMessage with methods to add an authentication
header to a request / retrieve authentication parameters from a
response.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1359 >
2023-12-22 12:12:17 +02:00
Sebastian Dröge
08fa853c7e
ci: Update image version again
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 14:10:41 +02:00
Nirbheek Chauhan
52c764b986
ci: Fix pwsh scripts not exiting on error
...
We all know that external utilities returning a non-zero exit code do
not terminate a powershell script. However, most do not know (and
neither did I) that it is impossible to promote error exit codes to
script-terminating errors with ErrorActionPreference.
Explicitly check the return codes and Exit.
https://github.com/MicrosoftDocs/PowerShell-Docs/issues/1583
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 14:10:41 +02:00
Sebastian Dröge
b5f4246445
ci: Use cargo install --locked
to make sure to not use too new dependency versions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 14:10:41 +02:00
Sebastian Dröge
ea002e2e11
ci: Update to Rust 1.74.1
...
And rebuild image for newer GStreamer version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 14:10:41 +02:00
Sebastian Dröge
dae3d30fae
play: Add bindings for new pipeline-dump-in-error-details
config
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 14:10:41 +02:00
Sebastian Dröge
52bd716a80
meta: Add support for (de)serializing metas
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
26611a66bd
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
003ebbdf1c
structure: Manually bind GST_SERIALIZE_FLAG_STRICT
...
As the flag changes the nullability of `gst_structure_serialize()` and
adding a new C function is apparently too much of a hassle for C
developers, add a new `serialize_strict()` function here that always
sets this flag and can fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
0533160d94
rtp: Add support for new RTPBasePayload::extensions
property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
dff595193d
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
86cf7a7d81
audio: Add array-based accessor for all audio buffer planes' data at once
...
This is mostly useful for getting mutable access to all planes at once.
Using `plane_data_mut()` for this is not possible as it would require
borrowing the frame mutably multiple times.
As each plane's data is not overlapping with any other plane we can
still provide such functionality safely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1367 >
2023-12-19 10:29:01 +02:00
Sebastian Dröge
38a9b7a242
video: Add array-based accessor for all video frame planes' data at once
...
This is mostly useful for getting mutable access to all planes at once.
Using `plane_data_mut()` for this is not possible as it would require
borrowing the frame mutably multiple times.
As each plane's data is not overlapping with any other plane we can
still provide such functionality safely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1367 >
2023-12-19 10:14:23 +02:00
Sebastian Dröge
2fb93e1c12
Update CHANGELOG.md for 0.21.3
2023-12-18 11:07:55 +02:00
Sebastian Dröge
8b9862052b
gstreamer: memory: Simplify and correct offset/size calculations in mem_share()
...
This is all supposed to do unsigned wrapping arithmetic to calculate the
new offsets and sizes, despite input parameters being signed integers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 13:15:55 +02:00
Sebastian Dröge
5c88bd0b5f
gstreamer: memory: Use ranges instead of offset/size parameter pairs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/497
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 13:15:38 +02:00
Sebastian Dröge
96de51a7b7
gstreamer: buffer: Use ranges instead of offset/length parameter pairs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/497
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:41:01 +02:00
Sebastian Dröge
cd30854c2b
gstreamer: memory: Fix assertions for copy_range/resize/share functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:37:58 +02:00
Sebastian Dröge
33e3e25b49
gstreamer: buffer: Add bindings for Buffer::map_range_readable()
and _writable()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/496
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:37:56 +02:00
Olivier Crête
248b6d2f31
gstreamer: meta: Implement Clone trait on MetaRef
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1365 >
2023-12-13 18:05:27 -05:00
Sebastian Dröge
2139f368e9
gstreamer: buffer: Add Buffer::dump()
and Buffer::dump_range()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/495
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1362 >
2023-12-11 18:34:13 +02:00
Sebastian Dröge
e72a3bfc8d
gstreamer: Improve support for dumping memories and add same functionality to byte slices
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1362 >
2023-12-11 16:05:34 +00:00
Sebastian Dröge
34fee6b691
gstreamer: formatted values: Implement ClockTime::absdiff()
and on related types
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/494
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1364 >
2023-12-10 20:49:17 +02:00
Sebastian Dröge
fddeacc358
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1361 >
2023-12-09 12:14:28 +02:00
Sebastian Dröge
5d8652e872
Update to pretty-hex 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1361 >
2023-12-09 12:13:42 +02:00
Sebastian Dröge
3daab0112d
examples: Add a few more docs/comments to the subclass/virtual methods example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1360 >
2023-12-09 11:58:14 +02:00
Sebastian Dröge
0ec7b2608c
examples: Add an example that shows how to write subclasses with virtual methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1356 >
2023-12-05 11:20:24 +02:00
Sebastian Dröge
84ca72a833
gstreamer: audiofilter: Add parent_allowed_caps()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1356 >
2023-12-05 11:20:24 +02:00
Sebastian Dröge
ceed45cfd7
gstreamer: Optimize Buffer
/ Memory
from_slice()
to have fewer allocations
...
Instead of using `gst_memory_new_wrapped_full()` and boxing the data,
create an GstAllocator subclass that allows allocating memories that
store the data inline.
By avoiding the box, one additional heap allocation per memory is
avoided.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/498
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1357 >
2023-12-05 10:51:28 +02:00
Guillaume Desmottes
a29d7c0e19
gstreamer: rename util_get_timestamp() to get_timestamp()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 17:07:21 +01:00
Guillaume Desmottes
f055c113ac
streamer: do not publicly import functions
...
All the functions are re-exported in the root crate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
9bcf48050b
gstreamer: move update_registry() as Registry method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
a649e7dead
gstreamer: move parse_* functions to their own module
...
Better namespacing so the API is more Rust-y.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
f255b82b55
gstreamer: move debug_* functions to their own module
...
Better namespacing so the API is more Rust-y.
Fix #500
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 12:46:59 +01:00
Dave Patrick Caberto
7f234c88ac
pbutils: make element_properties mod public
...
This makes the builders accessible/nameable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1354 >
2023-11-29 19:32:44 +08:00
Sebastian Dröge
59420b1590
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1353 >
2023-11-29 11:59:03 +02:00
Sebastian Dröge
a05e3fed14
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1353 >
2023-11-29 11:58:35 +02:00
Sebastian Dröge
ca8309a5dd
Simplify various raw pointer casts everywhere
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1353 >
2023-11-29 11:24:47 +02:00
Sebastian Dröge
897c7dfd39
gstreamer: Remove deprecated APIs
...
They were deprecated in the previous release or even older releases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1352 >
2023-11-23 13:38:16 +02:00
Sebastian Dröge
c82ba6ffe0
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1351 >
2023-11-17 10:58:50 +02:00
Sebastian Dröge
e56061c25e
examples: Update to windows 0.52
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1351 >
2023-11-17 10:58:40 +02:00
Sebastian Dröge
4c3de8b80e
Update versions of all autogenerated files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1348 >
2023-11-16 20:53:08 +02:00
Sebastian Dröge
db2028c4c5
net: Add new PtpClock::init_full()
function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1348 >
2023-11-16 20:53:08 +02:00
Philippe Normand
9ab8dee59c
gstreamer-editing-services: Add bindings for FrameCompositionMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1348 >
2023-11-16 20:53:08 +02:00
Philippe Normand
6371b82c48
gst-gir-files: Update submodule for GES FrameCompositionMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1348 >
2023-11-16 19:47:58 +02:00
Bilal Elmoussaoui
9617731206
ci/docs: Add missing cfg docsrs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1350 >
2023-11-16 17:29:36 +00:00
Sebastian Dröge
53f1ab938e
ci: Update to Rust 1.74
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1349 >
2023-11-16 16:42:08 +02:00
Sebastian Dröge
6cb371d3e5
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1347 >
2023-11-15 17:17:52 +02:00
Sebastian Dröge
1946973c25
Update to itertool 0.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1347 >
2023-11-15 16:53:20 +02:00
Sebastian Dröge
c4413f1db7
examples: play: Set message bus to flushing before dropping the Play
reference
...
Otherwise there might be pending messages on the bus that keep a
reference to the `Play` instance alive, and neither the bus nor the
`Play` are ever going to be freed then.
See also https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/489
and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3107 .
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/493
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1346 >
2023-11-14 09:36:58 +02:00
Sebastian Dröge
3ac254d34c
gstreamer: pad: Remove "caps" property getter
...
Only only leave the notify signal connection function. The property
getter is the same as `current_caps()`, which is more lightweight.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1345 >
2023-11-11 19:21:20 +02:00
Sebastian Dröge
30d8a7893b
Update CHANGELOG.md for 0.21.2
2023-11-11 15:57:11 +02:00
Sebastian Dröge
4c6bb9eefa
allocators: Ignore init_once()
function correctly
2023-11-11 11:43:17 +02:00
Sebastian Dröge
39b472ce8b
gl: Update serde serialization tests for new flags/enum variants
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 17:19:20 +02:00
Sebastian Dröge
9bc2a3dbf5
ci: Update image version for rebuild
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:51:05 +02:00
Sebastian Dröge
9419730ea4
video: Add VIDEO_FORMATS_ANY
and iterator over the formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:51:05 +02:00
Sebastian Dröge
ec3a3610d3
allocator: Generate new ShmAllocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:51:05 +02:00
Sebastian Dröge
6403d3c0ee
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:51:04 +02:00
Sebastian Dröge
b8fff2d6fc
Update some Gir.toml configuration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:50:55 +02:00
Sebastian Dröge
7cabb4f22c
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:50:43 +02:00
Marijn Suijten
bf568714b6
examples/glupload: Upgrade to glutin 0.31
...
Glutin completely detached from `winit` in the `0.30` upgrade, concerning
itself exclusively with OpenGL and WSI APIs around it and leaving any
windowing system interop to the `raw-window-handle` crate specifically
designed for this purpose.
This untanglement massively cleans up and simplifies the `glutin`
codebase, and expands on surfaceless rendering as well as drawing to
simple views (textures) on the screen as is common on Android, without
having control over the entire "window" and event loop.
Some winit boilerplate is however still provided as part of the
`glutin-winit` crate. Most of the `glutin`+`winit` flow in this
`glupload` example is adopted from `glutin`'s example, following
platform-specific initialization sequences that heavily clutter the code
(only creating a window upfront on Windows, only forcing transparency on
macOS, and trying various fallback attributes to create a context).
At the same time `winit`'s `Event::Resumed` and `Event::Suspended`
event strategy is adopted: this event was previously for Android and
iOS exclusively - where window handles come and go at the merit of
the OS, rather than existing for the lifetime of the application -
but is now emitted on all platforms for consistency. A `Surface` (via
`RawWindowHandle`) is only available and usable after `Event::Resumed`,
where we can create a GL surface and "current" the context on that
surface for rendering. This is where the `GstPipeline` will be set
to `Playing` so that data starts flowing. The inverse should happen in
`Event::Suspended` where the `Surface` has to be given up again after
un-currenting, before giving control back to the OS to free the rest of
the resources. This will however be implemented when Android is brought
online for these examples.
Finally, now that the `gst-gl-egl` and `gst-gl-x11` features turn on
the relevant features in `glutin` and `winit`, it is now possible to
easily test `x11` on Wayland (over XWayland) without even unsetting
`WAYLAND_DISPLAY`, by simply compiling the whole stack without EGL/
Wayland support (on the previous example `winit` would always default to
a Wayland handle, while `glupload` could only create `GstGLDisplayX11`).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336 >
2023-11-10 15:47:20 +02:00
Marijn Suijten
73180e530b
examples/glupload: Pass actual program
handle to glGetProgramiv()
...
This is what you get with an untyped API. `glGetError()` further down
the line was returning `GL_INVALID_OPERATION` and failing other calls
after `load()` in the `glutin 0.31` upgrade. This turns out to be
[returned by `glGetProgramiv`] when the `program` that is passed in
does not refer to a program object. Which was the case here, where the
fragment shader identifier was passed in instead.
Just in case we insert a few extra asserts that check the result of
`glGetError()` to catch such issues earlier on in the chain, instead of
postponing them and falsely accusing code that runs later.
[returned by `glGetProgramiv`]: https://registry.khronos.org/OpenGL-Refpages/es2.0/xhtml/glGetProgramiv.xml#errors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336 >
2023-11-10 12:57:16 +01:00
Marijn Suijten
5fdd56747f
examples/glupload: Remove Wayland display integration
...
`GstGLDisplayWayland` calls GstGLDisplayEGL::from_gl_display()` under
the hood (which calls `GstGLDisplayEGL::from_native()`, which calls
`eglGetPlatformDisplay()`) to retrieve the underlying `EGLDisplay`
handle, which thus far seems to be the same value as `glutin`. However,
newer `glutin 0.31` passes attributes to this function resulting in a
different handle, causing all kinds of trouble further down the line
when sharing resources between `glutin` and `gstreamer-rs` that both
operate on a distinct `EGLDisplay`.
Furthermore `GstGLDisplayEGL` thinks that it uniquely owns the
handle returned by `eglGetPlatformDisplay()` and _does not_ set
`.foreign_display = TRUE` (which `GstGLDisplayEGL::with_egl_display()`
would), causing it to call `eglTerminate()` as soon as the
`GstGLDisplay` is destroyed, leaving `glutin` dysfunctional.
To solve all of this, simply remove this wrongly-behaving class from the
example as it is not suitable for sharing an `EGLDisplay` with `glutin`.
It might however be interesting to create a different example that
showcases how to use raw window handles instead of EGL/GLX handles,
however only Wayland and any platform on EGL like Android, via
`GstGLDisplayEGL::from_native()`, support this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336 >
2023-11-10 12:57:16 +01:00
Marijn Suijten
0f3d2d6d09
examples/glupload: Sanity-check that the EGL display via Wayland equals glutin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336 >
2023-11-10 12:53:08 +01:00
Marijn Suijten
ce98a4755e
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/1336 >
2023-11-10 12:53:08 +01:00
Marijn Suijten
1ec4560b62
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/1336 >
2023-11-10 12:53:08 +01:00
Marijn Suijten
5741b6a52e
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/1336 >
2023-11-10 12:53:08 +01:00
Sebastian Dröge
5ee8ee8545
utils: streamproducer: Don't use gst_element_send_event()
in another place
...
It can cause deadlocks thanks to taking the state lock.
2023-11-10 09:45:09 +02:00
Sebastian Dröge
754b6487d4
ci: Run cargo update
as part of the cargo deny
/ cargo outdated
jobs
2023-11-10 08:56:32 +02:00
Sebastian Dröge
41519511aa
Add Cargo.lock to the repository
...
This makes sure that any broken dependency updates are not breaking our
build, at the cost of requiring us to update the lock file regularly.
See also https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1340 >
2023-11-09 10:07:47 +02:00
Sebastian Dröge
3051401aa4
deny: Add override for duplicated toml_edit dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1340 >
2023-11-09 10:03:23 +02:00
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
Arun Raghavan
b80a723de8
Minor copy-pasto fix for gstreamer-validate description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1309 >
2023-09-13 08:50:09 -04:00
Sebastian Dröge
b93113c4c6
ci: Run cargo-deny on the whole workspace with all features enabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1308 >
2023-09-07 15:20:43 +03:00
Sebastian Dröge
3988df8463
deny: Update and skip examples / tutorials
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1308 >
2023-09-07 15:19:56 +03:00
Sebastian Dröge
7167fb78ce
ci: Regenerate images to get new version of cargo-deny
...
The new version denies dependencies that include binary executables /
libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1308 >
2023-09-07 15:19:23 +03:00
Bilal Elmoussaoui
3228c36ef7
Adapt to no longer re-exported auto functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1307 >
2023-08-29 06:36:38 +00:00
Bilal Elmoussaoui
54979d859d
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1307 >
2023-08-29 06:36:38 +00:00
Bilal Elmoussaoui
ba202a5f87
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1307 >
2023-08-29 06:36:38 +00:00
Sebastian Dröge
0306dd6b53
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1306 >
2023-08-28 21:45:31 +03:00
Sebastian Dröge
5e32d2efbf
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1306 >
2023-08-28 21:45:31 +03:00
Sebastian Dröge
c7662ce15a
Update indentation for rustfmt 1.72
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1306 >
2023-08-28 21:45:31 +03:00
Sebastian Dröge
4b87796c92
ci: Update to Rust 1.72
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1306 >
2023-08-28 21:45:31 +03:00
Sebastian Dröge
83a562e227
Fix/silence various 1.72 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1306 >
2023-08-28 16:50:41 +00:00
Sebastian Dröge
f4486f5d61
Drop 0.20 docs to reduce disk usage requirements
...
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/482
2023-08-22 11:14:11 +03:00
Sebastian Dröge
4976e4ac4b
examples: Update to windows 0.51
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1305 >
2023-08-16 20:02:24 +09:00
Sebastian Dröge
13835a9f03
examples: Update to uds 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1305 >
2023-08-16 12:35:19 +03:00
Tim-Philipp Müller
db16dca822
tutorials: update old gstreamer-sdk media links
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1304 >
2023-08-14 11:07:00 +03:00
Sebastian Dröge
277cb517cd
Switch to resolver = "2"
for the workspace
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1303 >
2023-08-09 09:50:00 +03:00
Sebastian Dröge
76b8281709
ci: Build 0.21 docs and drop 0.19 docs
2023-08-08 19:48:54 +03:00
Sebastian Dröge
a7be931474
Update versions to 0.22.0
2023-08-08 19:47:55 +03:00
Sebastian Dröge
faf03c73ca
Update CHANGELOG.md for 0.21.0
2023-08-08 19:47:27 +03:00
Sebastian Dröge
9c6e48119c
Use all-features = true
instead of all-features = "true"
2023-08-08 17:46:20 +03:00
Sebastian Dröge
7a7b2c7b21
Regenerate with latest gir
2023-08-08 17:45:57 +03:00
Sebastian Dröge
af100377ed
gir: Update
2023-08-08 17:45:29 +03:00
Sebastian Dröge
e95e62d871
Fix build on docs.rs and document all features
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/478
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1302 >
2023-08-08 10:50:12 +03:00
Sebastian Dröge
03417068dc
base: Remove last occurence of nowadays unused dox
feature
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/477
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1302 >
2023-08-08 10:40:11 +03:00
Guillaume Desmottes
63852b3b19
streamproducer: forward selected sticky events when adding consumers
...
The consumer pipeline may rely on some sticky events (Tag in my case)
which may have already been sent.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1299 >
2023-08-07 20:26:28 +00:00
Sebastian Dröge
783b95884d
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:09:48 +03:00
Sebastian Dröge
03b614372d
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:09:48 +03:00
Sebastian Dröge
ab153de47f
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:09:48 +03:00
Sebastian Dröge
bac88e88b8
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:09:48 +03:00
Sebastian Dröge
00e42854fa
gl: Manually implement swizzle array functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:09:48 +03:00
Sebastian Dröge
e4d7748241
video: Add some more constants to the ignore list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 11:05:39 +03:00
Sebastian Dröge
7a79fc89d6
ci: Update to Rust 1.71.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 09:29:18 +03:00
Sebastian Dröge
cdd548acba
ci: Update to cargo-c 0.9.22
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301 >
2023-08-07 09:28:56 +03:00
Kourosh Firoozbakht
1e2e57836f
examples: fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1300 >
2023-07-26 01:42:02 +00:00
Sebastian Dröge
c0f9551fc4
ci: Install GTK from the GStreamer monorepo
...
Force-build the gtk subproject when building gstreamer
This subproject is only pulled in when -Drs=enabled by gst-plugins-rs,
so we need to force-enable it here.
Co-authored-by: Nirbheek Chauhan <nirbheek@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 17:58:37 +05:30
Nirbheek Chauhan
16e1f92489
ci: Use meson --vsenv instead of invoking VsDevCmd.bat
...
This is simpler, easier to use, and less likely to break.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 17:58:37 +05:30
Nirbheek Chauhan
0d7555bed0
ci: Switch install_gst powershell script to error by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 17:58:37 +05:30
Sebastian Dröge
d96d164c8d
ci: Update Windows base docker image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 10:53:22 +03:00
Sebastian Dröge
f8bb992aaf
ci: Don't install pango separately on Windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 10:03:37 +03:00
Sebastian Dröge
a53069208b
ci: Move extra packages from gst-plugins-rs CI images here
...
No need to have two layers of CI images for these few additional
packages. It only complicates the whole setup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 09:39:25 +03:00
Sebastian Dröge
2abf75122d
Update minimum supported Rust version to 1.70
...
gtk-rs will update soonish too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298 >
2023-07-19 09:24:10 +03:00
Guillaume Gomez
8fba09e1ed
Use --generate-link-to-definition
option when generating documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1297 >
2023-07-17 18:06:40 +02:00
Guillaume Gomez
75f4c66f14
Add --generate-link-to-definition
option when building on docs.rs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1297 >
2023-07-17 18:06:26 +02:00
Sebastian Dröge
92327be3b1
ci: Add various missing dependencies to the Linux image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1295 >
2023-07-17 10:29:20 +03:00
Jordan Petridis
63c79d377f
ci: Update ci-templates ref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1295 >
2023-07-14 02:54:43 +03:00
Sebastian Dröge
29ffd10b35
ci: Update to Rust 1.71
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1295 >
2023-07-13 17:16:27 +03:00
Sebastian Dröge
8b6c99a84e
pbutils: Remove unnecessary mut
2023-07-11 10:05:32 +03:00
Mathieu Duponchelle
88c21505d2
streamproducer: forward preroll sample from new_preroll callback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1280 >
2023-07-07 17:06:54 +02:00
Mathieu Duponchelle
a4247d5199
streamproducer: extract process_sample function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1280 >
2023-07-07 14:09:35 +02:00
Sebastian Dröge
214f61abc5
deny: Allow bitflags 1 for the time being
2023-07-07 09:09:58 +03:00
Bilal Elmoussaoui
19cf78d85f
Adapt to glib::Continue changing it's module
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1294 >
2023-07-06 22:22:43 +02:00
Bilal Elmoussaoui
2fe62d3107
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1294 >
2023-07-06 22:22:24 +02:00
Bilal Elmoussaoui
387c51f860
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1294 >
2023-07-06 21:59:16 +02:00
Sebastian Dröge
89ab9d09c8
Remove GTK3 examples/tutorials
...
GTK3 is deprecated and the GTK videooverlay example does not even work
on modern systems with Wayland anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 17:25:28 +03:00
Bilal Elmoussaoui
f9fa7f55fc
Use re-exported once_cell
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 16:50:35 +03:00
Bilal Elmoussaoui
b156ba2c59
Adapt to glib::Continue rename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 16:50:35 +03:00
Bilal Elmoussaoui
7cf66dbc61
Adapt to bitflags update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 15:17:32 +02:00
Bilal Elmoussaoui
9eacba1569
Use bitflags from re-exported glib crates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 15:06:47 +02:00
Bilal Elmoussaoui
c2cda2c067
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 15:05:38 +02:00
Bilal Elmoussaoui
4ec5f99142
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293 >
2023-07-06 15:04:50 +02:00
Sebastian Dröge
7ac1a2b753
Regenerate with latest gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:21:45 +03:00
Bilal Elmoussaoui
8cf099f0ab
Seal manual traits
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:21:45 +03:00
Bilal Elmoussaoui
6a703508bc
Update gir-files submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:08:32 +03:00
Bilal Elmoussaoui
2740c38cdd
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:08:32 +03:00
Bilal Elmoussaoui
617652dce0
Update gir submodule
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:08:32 +03:00
Sebastian Dröge
80abcf6ca3
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:46:06 +03:00
Sebastian Dröge
67b8c29274
video: Add conversions between VideoInfo
and VideoInfoDmaDrm
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:46:06 +03:00
Sebastian Dröge
bc979b7ce9
audio: Add version to AudioRingBufferFormatType::Dsd
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:40:36 +03:00
Sebastian Dröge
354f072ff3
gstreamer: Add new Fraction::simplify()
bindings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:40:36 +03:00
Sebastian Dröge
f806967a2e
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:40:36 +03:00
Sebastian Dröge
c6015043f5
Regenerate with updated gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:40:36 +03:00
Sebastian Dröge
a913a895c0
Temporarily switch to a gir branch with updated dependencies
...
Updating to latest gir requires various manual code changes and needs to
be done separately, but this unbreaks the CI for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:40:36 +03:00
Sebastian Dröge
90aad36c34
ci: typoes: Fix some typos and add subtiles to the word list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
fixup
2023-07-06 08:40:30 +03:00
Tim-Philipp Müller
42fe22301b
ci: update gstreamer build
...
Need https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4951
to fix some gst-plugins-rs unit tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1286 >
2023-07-06 08:08:39 +03:00
Sebastian Dröge
296a12d1ea
Update CHANGELOG.md for 0.20.7
2023-07-05 12:29:02 +03:00
Sebastian Dröge
96c7eb9563
basetransform: Don't leak any output buffer if prepare_output_buffer
fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1285 >
2023-06-30 10:33:30 +03:00
Sebastian Dröge
eff6b4c952
basetransform: Fix memory leak when dropping buffers from the transform function
...
Also add a basic test for a basetransform subclass.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/472
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1285 >
2023-06-30 10:24:55 +03:00
Sebastian Dröge
12bed29738
gstreamer: Move various MetaAPI
methods to an extension trait
...
These don't make sense to implement any different than the default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1284 >
2023-06-30 08:50:03 +03:00
Thibault Saunier
af57f6f17b
gstreamer: meta Add API to list/check tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1284 >
2023-06-30 08:43:45 +03:00
Li Yuanheng
1bc197db79
appsink: property should use hyphen not underscore
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1283 >
2023-06-28 13:53:38 +08:00
Thibault Saunier
a66fc95d2a
ges: Mark asset APIs as Send+sync
...
Those objects are MT. safe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1278 >
2023-06-26 12:37:34 +00:00
Thibault Saunier
7f7c7a4165
ges: Allow subclassing GESFormatter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1278 >
2023-06-26 12:37:34 +00:00
Sebastian Dröge
7c67375d99
examples: Reduce dependencies of the thumbnail example
...
Instead of depending on libraries for every possible image format,
depend only on the JPEG and PNG libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1281 >
2023-06-26 14:14:45 +03:00
Sebastian Dröge
b59680f437
Update to cocoa 0.25
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1281 >
2023-06-26 14:00:54 +03:00
Sebastian Dröge
e2c1dad0d5
Update to itertools 0.11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1281 >
2023-06-26 13:59:47 +03:00
Thibault Saunier
49bf604276
ges: Bind the new object
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1258 >
2023-06-16 13:41:33 -04:00
Stéphane Cerveau
750206067c
gitlab: add issue template
...
Use the same bug template as in gstreamer repository
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1277 >
2023-06-15 11:37:18 +00:00
Guillaume Desmottes
1df5b0d028
pbutils: implement debug() method on DiscovererInfo related structs
...
The default Debug implementation is not very useful but unfortunately
cannot be overridden.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1276 >
2023-06-14 14:33:59 +02:00
Sebastian Dröge
827cb31bac
deny: Remove obsolete duplicated Windows dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1275 >
2023-06-12 13:22:37 +03:00
Sebastian Dröge
d72884685a
examples: Update to memmap2 0.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1275 >
2023-06-12 13:22:28 +03:00
Sebastian Dröge
df67a2d860
Update CHANGELOG.md for 0.20.6
2023-06-06 17:16:18 +03:00
Sebastian Dröge
b89b135c93
pbutils: Move DiscovererStreamInfo
iterators to an extension trait
...
This way it can also be called directly on subclasses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1273 >
2023-06-06 14:09:48 +03:00
Daniel Pendse
2becc79dfb
rtsp-server: Add RTSPContext uri getter
...
Add uri getter from RTSPContext
Fix #469
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1271 >
2023-06-05 10:41:59 +02:00
Sebastian Dröge
5f8aaed96b
ci: Update to GTK 4.10.3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1272 >
2023-06-01 20:12:51 +03:00
Sebastian Dröge
093bc9b9cc
ci: Update to rustup 1.26.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1272 >
2023-06-01 20:11:05 +03:00
Sebastian Dröge
a5fa1dab79
ci: Update to meson 1.1.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1272 >
2023-06-01 20:10:38 +03:00
Sebastian Dröge
f75aa5f1f8
ci: Update to Rust 1.70
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1272 >
2023-06-01 20:10:19 +03:00
Sebastian Dröge
130805fc50
Ignore various endianness-dependent constants/enum values in the sys bindings
...
They can't be used verbatim and need special handling depending on the
target platform's endianness.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1270 >
2023-05-29 16:45:29 +03:00
Sebastian Dröge
5f16254059
deny: Update for cocoa crates being in the middle of updates
2023-05-29 12:50:01 +03:00
Sebastian Dröge
2290262c2e
gstreamer: Add fmt::Debug
impls for owned Event
/Query
/Message
too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1269 >
2023-05-24 10:36:08 +03:00
Guillaume Desmottes
fadca54d51
gstreamer: event: manually implement Debug
...
Allow us to display more useful information.
Fix #467
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1268 >
2023-05-23 15:28:29 +02:00
Guillaume Desmottes
53173eb46c
gstreamer: query: manually implement Debug
...
Allow us to display more useful information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1268 >
2023-05-23 15:28:29 +02:00
Guillaume Desmottes
71b77c513d
gstreamer: message: add structure to Debug views
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1268 >
2023-05-23 15:24:19 +02:00
Guillaume Desmottes
3ffba2453d
gstreamer: message: manually implement Debug
...
Allow us to display more useful information.
Fix #466
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1267 >
2023-05-23 10:32:42 +02:00
Guillaume Desmottes
041a1f2a8e
gstreamer: message: implement Display on Error, Warning and Info
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1267 >
2023-05-23 08:36:13 +02:00
Sebastian Dröge
b6919d7c99
examples: Update for DiscovererStreamInfo::stream_id()
being nullable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1266 >
2023-05-22 12:17:13 +03:00
Sebastian Dröge
a13dcad033
ci: Update image version for building newer GStreamer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1266 >
2023-05-22 12:15:46 +03:00
Sebastian Dröge
6ab34e1656
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1266 >
2023-05-22 12:15:07 +03:00
Sebastian Dröge
4d7809424f
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1266 >
2023-05-22 12:13:31 +03:00
Jordan Petridis
2f75087830
ci: add openssl into the windows-image
...
Useful to build a couple of plugins, including dtls.
Related to gstreamer/gst-plugins-rs#346
Originally gstreamer/gstreamer!4607 but can't be merged yet
due to x86 issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1264 >
2023-05-16 10:50:12 +00:00
Sebastian Dröge
adea2428af
gstreamer: Only retrieve the debug category once per log call
...
Each retrieval would go through the one-time-initialization check, i.e.
yet another branch, so let's avoid that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1263 >
2023-05-13 20:44:42 +03:00
Sebastian Dröge
4f8862e15b
gstreamer: Remove unnecessary clone()
in debug logging macros
...
The macro called from them is already doing the `clone()` itself.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1263 >
2023-05-13 20:44:42 +03:00
Sebastian Dröge
074a2b1578
gstreamer: Use temporary GStr
for the debug category constructors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1263 >
2023-05-13 20:44:42 +03:00
Sebastian Dröge
4384934b32
gstreamer: Mark DebugCategory
as repr(transparent)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1263 >
2023-05-13 14:06:58 +03:00
François Laignel
9453d63631
gst/pad: [Ghost]PadBuilder: inherit name from template or target when possible
...
This commit adds convenience auto naming in the following cases:
* When building from a non wildcard-named template, the name of the template is
automatically assigned to the Pad. User can override with a specific name by
calling `name()` on the `PadBuilder`.
* When building with a target and no name was provided via the above, the
GhostPad is named after the target.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255 >
2023-05-12 10:55:46 +00:00
François Laignel
7cb5473ba6
gst: Pad move name definition to builders
...
Also apply consistent naming for builder/non-builder constructors.
See discussion in:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/448#note_1799092
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255 >
2023-05-12 10:55:46 +00:00
François Laignel
13f0483a44
gst: Manually impl Bin & Pipeline constructors
...
Set `Bin` & `Pipeline` constructors to manual implementation to remove
optional `name` argument (use builder to specify name).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255 >
2023-05-12 10:55:46 +00:00
Sebastian Dröge
ccf3b57a8b
examples: Update to memmap2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1262 >
2023-05-12 09:44:03 +03:00
Sebastian Dröge
33d4969493
gstreamer: Get function name for logging outside the internal closure
...
Otherwise the function name will include the name of the closure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1260 >
2023-05-10 11:14:21 +03:00
Jordan Petridis
13f4085456
ci: Build again with --all-features when possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1259 >
2023-05-08 23:39:31 +03:00
Sebastian Dröge
9d61e39ed2
ci: Pass --all-features to the documentation build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1257 >
2023-05-04 10:02:57 +03:00
Sebastian Dröge
3d82f9cb65
gstreamer-app: appsink: Remove duplicated and misnamed callbacks builder function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1257 >
2023-05-04 10:00:58 +03:00
Sebastian Dröge
3699da7314
Remove dox feature and replace by docsrs configuration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1256 >
2023-05-04 09:19:29 +03:00
Sebastian Dröge
5c331e7e77
ci: Update docs generation for new configuration mechanism
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1256 >
2023-05-04 09:19:29 +03:00
Sebastian Dröge
40578ae7e9
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1256 >
2023-05-04 09:19:29 +03:00
Sebastian Dröge
5a24f2d9db
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1256 >
2023-05-04 09:19:29 +03:00
Sebastian Dröge
0585476687
gstreamer: serde: Update for glib::FlagsClass
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1253 >
2023-04-24 09:57:26 +03:00
Sebastian Dröge
b1577af7cf
Update CHANGELOG.md for 0.20.5
2023-04-22 11:53:29 +03:00
Sebastian Dröge
5dd1decd6a
ci: Update to Rust 1.69
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1251 >
2023-04-20 18:06:03 +03:00
Sebastian Dröge
86eb6c2bd8
Fix a couple of new Rust 1.69 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1250 >
2023-04-20 16:42:39 +03:00
Thibault Saunier
145664ec0d
miniobject: Implement the HasParamSpec trait in the macro
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1249 >
2023-04-17 11:00:49 -04:00
Johan Sternerup
e026d922e4
gstreamr: bus: Add BusWatchGuard to automatically remove watch
...
Previously, with add_watch()/add_watch_local() you had to remember
calling remove_watch() in order not to leak the bus, the watch source
and two associated file descriptors. Now these methods instead return an
object of type BusWatchGuard that will automatically remove the bus
watch when the object is dropped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1248 >
2023-04-14 11:53:41 +03:00
Bilal Elmoussaoui
5c156737a4
gst-player: Implement Default for Player
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1231 >
2023-04-11 09:42:40 +00:00
Guillaume Desmottes
e108a908dc
gstreamer: CHANGELOG: fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1247 >
2023-04-10 11:19:00 +02:00
Guillaume Desmottes
98a8b75646
gstreamer: fix unused import in test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-10 08:04:12 +02:00
Guillaume Desmottes
68e0ae9a9c
ci: check for typos
...
https://github.com/crate-ci/typos is quite nice, and is even written in Rust.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-07 17:09:48 +02:00
Guillaume Desmottes
6fc969932b
CHANGELOG: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-07 17:09:48 +02:00
Guillaume Desmottes
e75391139c
fix typos in comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-07 17:09:48 +02:00
Guillaume Desmottes
3cb2454fd3
gstreamer: fix typo in GeoLocationLongitude tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246 >
2023-04-07 17:09:48 +02:00
Sebastian Dröge
341ac517d1
Update CHANGELOG.md for 0.20.4
2023-04-07 13:07:06 +03:00
Sebastian Dröge
2dbd99bd18
webrtc: Add missing prelude re-export of WebRTCICEExtManual
2023-04-07 11:57:01 +03:00
Sebastian Dröge
03d046daba
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:31:39 +03:00
Sebastian Dröge
a11e5cfd75
Add manual changes for the new/changed 1.24 APIs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:31:39 +03:00
Sebastian Dröge
4d787df819
ci: Run tests with v1_24 feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
ca2fd54230
Add v1_24 feature flag everywhere
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
fdbef66c24
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
ce0ddc7be0
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
8b0398aa32
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
a88b06f73e
Update gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
a252de69b1
audio: Don't store a copy of the AudioInfo
in AudioFrame
...
Instead just reference the one inside the FFI struct directly by making
sure that the memory representation of the FFI and Rust type are the
same.
This reduces the size of `AudioFrame` by about half.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
e584fdb17b
video: Don't store a copy of the VideoInfo
in VideoFrame
...
Instead just reference the one inside the FFI struct directly by making
sure that the memory representation of the FFI and Rust type are the
same.
This reduces the size of `VideoFrame` by about half.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1244 >
2023-04-06 21:08:51 +03:00
Sebastian Dröge
ca9d822042
deny: Update for older versions of the windows bindings
2023-04-05 12:03:13 +03:00
Thibault Saunier
98db1b546e
validate: Expose gst_validate::print_action_types
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1227 >
2023-04-04 11:50:49 -04:00
Thibault Saunier
9647ce8895
validate: reporter: Add a report_action() method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1227 >
2023-04-04 11:50:49 -04:00
Thibault Saunier
b34718697c
validate: init_debug and setup_test_file is meant to be called before init
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1227 >
2023-04-04 11:50:49 -04:00
Thibault Saunier
8eae37c525
validate: Implement action types registration support
...
This is implemented mostly manually because the API is a bit weird
and we need to do some extra work to make it work properly.
Also basing it on a Builder makes it much nicer to user.
This commit also includes required new types either generated with `gir`
or manually implemented when required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1227 >
2023-04-04 11:50:49 -04:00
Thibault Saunier
68db910bc8
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1227 >
2023-04-04 11:50:49 -04:00
Seungha Yang
6cb19c1f18
examples: Add Direct2D/DirectWrite text rendering example
...
Similar to overlay-composition example but for Direct2D/DirectWrite
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1206 >
2023-04-04 09:09:18 +00:00
Jimmi Holst Christensen
85e427345e
Forward tag events to consumers in StreamProducer
...
Fix #386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1045 >
2023-04-04 07:31:58 +00:00
Sebastian Dröge
0ab72911ee
ci: Update to GTK4 4.10.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1242 >
2023-04-01 18:53:28 +03:00
Sebastian Dröge
954d88154c
ci: Update to Rust 1.68.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1242 >
2023-04-01 13:53:46 +03:00
Sebastian Dröge
81a5f25f81
examples: Update to windows 0.48
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1241 >
2023-04-01 12:00:53 +03:00
Sebastian Dröge
a7131fc051
examples: Update to windows 0.47
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1240 >
2023-03-31 11:50:51 +03:00
Sebastian Dröge
bc81e5a6a2
deny: Update to allow multiple versions of syn for now
2023-03-19 17:47:09 +02:00
Sebastian Dröge
6d3c9d931b
examples: Update to windows 0.46
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1239 >
2023-03-14 11:24:08 +00:00
Sebastian Dröge
d2ef4023f7
Update CHANGELOG.md for 0.20.3
2023-03-14 13:23:51 +02:00
Sebastian Dröge
7344e4bab2
tutorials: Update for glib::Priority
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1237 >
2023-03-12 10:26:06 +02:00
Arun Raghavan
273f084c06
aggregator: Mark src_pad() return type as an AggregatorPad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1236 >
2023-03-09 23:18:04 -05:00
Jordan Petridis
368e1cacb6
ci: Update base image to debian 12 bookworm
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1234 >
2023-03-09 21:03:28 +02:00
Sebastian Dröge
fe038b7a14
rtsp-server: Work around GstRTSPClientClass
ABI breakage in 1.18
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/455
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1233 >
2023-03-09 16:23:29 +00:00
Sebastian Dröge
43b5cffc85
ci: Update to gtk 4.10.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1232 >
2023-03-09 17:10:37 +02:00
Sebastian Dröge
ce0fab9cf9
ci: Update to meson 1.0.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1232 >
2023-03-09 17:09:31 +02:00
Sebastian Dröge
b243ba1577
ci: Update to Rust 1.68
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1232 >
2023-03-09 17:09:26 +02:00
Guillaume Desmottes
01d3cef73e
gstreamer: element: more generic (un)link_many() API
...
No longer enforces to pass an array of references.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1230 >
2023-03-09 14:27:25 +00:00
Guillaume Desmottes
c4a968a403
gstreamer: bin: more generic {add,remove}_many() API
...
No longer enforces to pass an array of references.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1230 >
2023-03-09 14:27:25 +00:00
Marc Wiblishauser
0bd6e07346
ParamSpecArray: fix type_ from fraction to array
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1229 >
2023-03-09 10:29:37 +01:00
Sebastian Dröge
4b112a9bb8
video: Fix two new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1228 >
2023-03-07 10:41:19 +02:00
Sebastian Dröge
37785b222a
deny: Allow older windows-sys 0.42 for now
2023-03-01 14:02:48 +02:00
Guillaume Desmottes
32a02b51e1
utils: streamproducer: document forward_eos default value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1226 >
2023-02-28 09:48:36 +01:00
Ruben Gonzalez
0b922b0e89
examples: zoom effect with compositor and navigations events
...
Use can change the video player zoom using the next keys:
* +: Zoom in
* -: Zoom out
* Up/Down/Right/Left: Move the frame
* r: reset the zoom
Also mouse navigation events can be used for a better UX.
Furthermore, it works with an pipeline using other video compositor
filters like glvideomixer. For instance:
glvideomixer \
name=mix background=1 \
sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0 \
sink_0::width={WIDTH} sink_0::height={HEIGHT} \
! glimagesinkelement \
gltestsrc pattern=mandelbrot name=src \
! video/x-raw(memory:GLMemory),framerate=30/1,width={WIDTH},height={HEIGHT},pixel-aspect-ratio=1/1 \
! queue \
! mix.sink_0
Probe was added in the sink pad to get direct navigation events w/o
transformation done by the mixer. More info about it in the PR [1].
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1495
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1217 >
2023-02-22 20:41:06 +01:00
Sebastian Dröge
0056c62cec
Update CHANGELOG.md for 0.20.2
2023-02-21 17:03:54 +02:00
François Laignel
58475f4a25
{Audio,Video}CapsBuilder: add for_encoding constructor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1222 >
2023-02-20 09:05:51 +00:00
Sebastian Dröge
8b6bf18bb0
ci: Update to rustup 1.25.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
Sebastian Dröge
b6e253acbf
Update minimum supported Rust version to 1.66
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
Sebastian Dröge
de01403658
ci: windows: Update to dav1d 1.1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
Sebastian Dröge
b3980b389d
ci: Build GStreamer from the main branch again
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
SeaDve
862f4d014c
gstreamer: Add seconds_f32 & seconds_f64 methods and from_seconds_f32 & from_seconds_f64 constructor for ClockTime and Signed<ClockTime>
...
Closes #443
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223 >
2023-02-20 10:42:07 +02:00
SeaDve
cd8e8cea5a
gstreamer-play: impl default for Play
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1224 >
2023-02-19 10:28:48 +08:00
SeaDve
12b4a9a03d
gstreamer: implement HasParamSpec for ClockTime
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1221 >
2023-02-14 23:40:28 +08:00
Sebastian Dröge
70b42a4846
Update CHANGELOG.md for 0.20.1
2023-02-13 15:02:49 +02:00
Sebastian Dröge
f0bb4e5bef
video: Don't leak the gst::Buffer
when converting a VideoFrame
into an ffi::GstVideoFrame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1219 >
2023-02-13 14:29:10 +02:00
Sebastian Dröge
6ffb1db482
video: Don't forget to unmap the VideoFrame
when converting into a gst::Buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1219 >
2023-02-13 14:28:47 +02:00
Sebastian Dröge
2ac85cd8de
audio: Don't forget to unmap the AudioBuffer
and drop the Box
when converting into a gst::Buffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1219 >
2023-02-13 14:27:10 +02:00
Sebastian Dröge
60ad9b5038
gstreamer: Add a test for various combinations of element_error!
string formatting
2023-02-13 11:40:41 +02:00
Sebastian Dröge
6f06a26327
Add support for inline variable names in error/warning/info message creation macros
...
Simply by removing the special-casing of string literals, which doesn't
really bring any improvements here.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/442
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1216 >
2023-02-12 13:27:59 +02:00
Sebastian Dröge
7d9c12f8d1
ci: Build 0.20 docs and drop 0.18 docs
2023-02-10 00:16:13 +02:00
Sebastian Dröge
13140d8b8a
Update versions to 0.21.0
2023-02-09 23:42:32 +02:00
Sebastian Dröge
d284fcdca0
Update CHANGELOG.md for 0.20.0
2023-02-09 23:41:58 +02:00
Sebastian Dröge
b9f36c1b42
Update CHANGELOG.md for 0.19.8
2023-02-09 21:38:00 +02:00
Sebastian Dröge
f6f0465655
Remove various unnecessary clippy allow attributes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1214 >
2023-02-07 21:13:19 +02:00
Sebastian Dröge
9155d6eb7b
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1214 >
2023-02-07 21:00:46 +02:00
Sebastian Dröge
c2dd69dfac
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1214 >
2023-02-07 20:59:41 +02:00
Sebastian Dröge
8692caa0a6
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1214 >
2023-02-07 20:59:31 +02:00
Sebastian Dröge
172e22c4b3
gstreamer: Implement glib::HasParamSpec
for our custom pspecs
...
This allows using `gst::Fraction` / `gst::Array` properties via the new
properties macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1213 >
2023-02-06 15:21:02 +02:00
Sebastian Dröge
91eec7a33f
Migrate everything to object lock API instead of custom GMutex
handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1212 >
2023-02-06 10:50:33 +02:00
Anders Hellerup Madsen
3ddbdbd383
gstreamer-gl: Require object lock in GLDisplay
...
The methods `gst_gl_display_get_gl_context_for_thread()`,
`gst_gl_display_create_context()`, `gst_gl_display_add_context()` and
`gst_gl_display_remove_context()` now require the display's object lock
to be held when called.
This is required by the C API.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/439
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1212 >
2023-02-06 10:10:18 +02:00
Anders Hellerup Madsen
a021aaa3ce
gstreamer: Add object_lock method to gst::Object
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/439
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1212 >
2023-02-06 10:10:18 +02:00
Christian Meissl
77866a52df
gstreamer-allocators: allow to subclass fd memory allocators
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1186 >
2023-02-04 19:49:44 +01:00
Sebastian Dröge
00281e98f0
gstreamer: Rename TagSetter::add()
to TagSetter::add_tag()
to not conflict with Bin::add()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/440
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1211 >
2023-02-04 16:44:40 +02:00
Jordan Petridis
c4dc549a5e
ci: Make the plugin update jobs depend on the image builds
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1210 >
2023-02-02 14:04:10 +02:00
Sebastian Dröge
478606e44c
Use glib::Object::new()
instead of new_default()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 12:05:53 +02:00
Sebastian Dröge
c62530e181
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 10:49:39 +02:00
Sebastian Dröge
f1db72dab2
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 10:47:04 +02:00
Sebastian Dröge
51611ba779
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 10:46:51 +02:00
Sebastian Dröge
a7f670df7a
Return exit code from gio::Application::run()
from main()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1208 >
2023-01-27 19:02:03 +02:00
Sebastian Dröge
5f05f7ec05
gl: Mark other_context
in GLDisplay::create_context()
as nullable
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1207 >
2023-01-27 16:29:49 +02:00
Sebastian Dröge
01bbb07744
ci: Update to Rust 1.67
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1205 >
2023-01-26 18:56:35 +02:00
Sebastian Dröge
5cea810820
gstreamer: Add bindings for Message::structure_mut()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1204 >
2023-01-26 15:28:42 +02:00
Sebastian Dröge
f24b38470b
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1203 >
2023-01-25 10:18:33 +02:00
Sebastian Dröge
7efc22ebc9
Require GStreamer 1.22.0 instead of 1.21.0 when selecting v1_22
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 13:01:05 +02:00
Sebastian Dröge
ecfb10649a
Add 1.22 to extra_versions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 13:00:53 +02:00
Sebastian Dröge
4b99aae824
gstreamer: Create plugins for version 1.22 if selected
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:58:32 +02:00
Sebastian Dröge
e82a1d0eb8
gstreamer: Mark MessageType
enum as non-exhaustive
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:57:05 +02:00
Sebastian Dröge
8585158880
ci: Update gtk4 to 4.8.3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:53:50 +02:00
Sebastian Dröge
848ed9c1e5
ci: Update to meson 1.0.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:53:06 +02:00
Sebastian Dröge
f56febfd35
ci: Rebuild image for 1.22.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:52:44 +02:00
Sebastian Dröge
0f1c937465
Regenerate with latest gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:50:26 +02:00
Sebastian Dröge
73a9a5b3a3
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:49:36 +02:00
Sebastian Dröge
72d1f72edc
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1201 >
2023-01-24 12:49:36 +02:00
Sebastian Dröge
c33fb38ca1
gstreamer: Mark various enums as exhaustive
...
This reduces their size to 4 bytes instead of 5 bytes, and as such makes
it possible to store them in a register on 32 bit platforms too.
Additionally it makes it possible for enums like
`Result<FlowSuccess, FlowReturn>` to be stored in a single register on
64 bit platforms.
Also the conversions between the C and Rust type is a simple copy of the
value now instead of a mapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1200 >
2023-01-24 11:07:33 +02:00
Sebastian Dröge
2c2a6c3871
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1200 >
2023-01-24 10:40:31 +02:00
Sebastian Dröge
d6bf3e1c3b
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1200 >
2023-01-24 10:39:01 +02:00
Sebastian Dröge
36f89e19fc
gstreamer: Deprecate ElementFactory::create_with_properties()
and make_with_properties()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1199 >
2023-01-23 13:06:54 +00:00
Sebastian Dröge
dc5e408c2d
gstreamer: Add various convenience From
impls for Caps
, BufferList
, CapsFeatures
, Buffer
and VideoOverlayComposition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1199 >
2023-01-23 13:06:54 +00:00
Sebastian Dröge
eadb3c6db2
audio: Reduce size of AudioInfo
from 832 to 320 bytes and make audio channel position handling more efficient
...
Assume that there are never more than 64 named channel positions and by
that provide an 1:1 mapping between the C and Rust types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1198 >
2023-01-23 12:58:16 +02:00
Sebastian Dröge
0f859b9029
Get README.md in sync again
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/437
2023-01-23 12:01:07 +02:00
Seungha Yang
8ef4420257
examples: d3d11videosink: Update for windows crate v0.44
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1197 >
2023-01-23 03:01:17 +09:00
Sebastian Dröge
d5e24b9fbd
Update various object construction functions to more efficient approaches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1196 >
2023-01-22 09:48:51 +02:00
Sebastian Dröge
38dd1f462b
gstreamer: Use obj()
instead of instance()
in the remaining places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1196 >
2023-01-22 09:14:50 +02:00
Sebastian Dröge
257a049673
gstreamer: Mark ParamSpec
constructors as deprecated in favour of the builders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1196 >
2023-01-22 09:14:50 +02:00
Sebastian Dröge
24a16a43b6
Update CHANGELOG.md for 0.19.7
2023-01-19 19:05:17 +02:00
Sebastian Dröge
d6e9cd33c0
gstreamer: Make allocation query caps optional
...
See also https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3752
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1194 >
2023-01-19 16:08:16 +02:00
Sebastian Dröge
56498aa856
Fix version links in CHANGELOG.md
2023-01-18 16:53:08 +02:00
Sebastian Dröge
a6abe15678
Update CHANGELOG.md for 0.19.6 release
2023-01-18 16:53:05 +02:00
Sebastian Dröge
82cf6e7842
Update for glib::Boxed
ToGlibPtr<*mut _>
trait impl addition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1192 >
2023-01-17 09:59:02 +02:00
Sebastian Dröge
c2e7abd128
utils: streamproducer: Persist ConsumptionLink
state when changing producers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 16:16:15 +02:00
Sebastian Dröge
094d74e391
utils: streamproducer: Add ConsumptionLink::appsrc()
getter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 14:41:06 +02:00
Sebastian Dröge
0a6ed3c717
utils: streamproducer: Add new ConsumptionLink::disconnected()
constructor
...
This allows constructing a new consumption link from an `appsrc` without
having it connected from the very beginning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 14:41:06 +02:00
Sebastian Dröge
dd284a80ea
utils: streamproducer: Add ConsumptionLink::set_discard()
to stop forwarding buffers for a while
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 14:41:06 +02:00
Sebastian Dröge
a68c37e4eb
utils: streamproducer: Remove StreamProducer::forward()
...
Most applications forget to call `forward()` in the beginning and then
nothing works.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/433
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 14:41:06 +02:00
Sebastian Dröge
f8d17555c5
utils: streamproducer: Add #[must_use]
attribute to add_consumer()
...
Simply discarding the result will immediately disconnect it again, which
was likely not intended and can easily lead to bugs.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/432
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1189 >
2023-01-16 14:41:06 +02:00
Sebastian Dröge
8aa3e4417c
gstreamer: Fix another typo in macro
2023-01-16 11:30:56 +02:00
Sebastian Dröge
2a11b9d2cf
gstreamer: Fix typo in macro
2023-01-16 11:30:08 +02:00
Sebastian Dröge
64abf69987
Use glib::function_name!
instead of module_path!
macro in more places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1191 >
2023-01-16 11:10:21 +02:00
Sebastian Dröge
3e2eb6e652
gstreamer: Reduce code bloat in panic handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1191 >
2023-01-16 11:08:02 +02:00
Sebastian Dröge
3a340d0a89
gstreamer: Implement Structure::from_iter()
more generically
2023-01-15 23:06:45 +02:00
Sebastian Dröge
003554876c
Update various APIs to use glib::GStr
...
Currently only covers what is needed to keep code compiling, plus
everything caps/structure/tags related.
This avoids unnecessary heap allocations for adding the NUL-terminator
of C strings, and especially makes caps/structure handling as efficient
as in C.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1190 >
2023-01-15 21:05:57 +02:00
Sebastian Dröge
ea136515cf
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1190 >
2023-01-15 20:17:11 +02:00
Sebastian Dröge
6152dd7e3b
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1190 >
2023-01-15 20:17:10 +02:00
Sebastian Dröge
aa23ddbbdb
gstreamer: Simplify element subclass panic catching functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1188 >
2023-01-14 17:13:53 +02:00
Sebastian Dröge
37bfb78fdc
Change some assertions to debug assertions
...
These assertions can only trigger because of bugs in the bindings
implementation or in the C code and not because of bugs in calling code,
so using debug assertions is perfectly fine for them and reduces the
number of assertions inlined everywhere in release builds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1188 >
2023-01-14 17:13:46 +02:00
Sebastian Dröge
f235dc987d
Inline various trivial functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1177 >
2023-01-11 11:33:54 +02:00
Sebastian Dröge
0fccb73eb6
gstreamer: Remove unnecessary cast in gst::element_imp_error!
and others
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1187 >
2023-01-11 09:06:38 +00:00
Sebastian Dröge
608cae3703
gstreamer: Register only a single type instead of per return value for the gst::Iterator::filter()
GValue
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1187 >
2023-01-11 09:06:38 +00:00
Sebastian Dröge
f07727ee6d
Use uninitialized stack memory for out parameters instead of zeroed memory if applicable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1187 >
2023-01-11 09:06:38 +00:00
Sebastian Dröge
1b022a6b7c
Get rid of unnecessary option wrapping
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1187 >
2023-01-11 09:06:38 +00:00
Christian Meissl
da2eb50dd3
gstreamer-video: implement VideoBufferPoolConfig for BufferPoolConfigRef
...
implementing VideoBufferPoolConfig for BufferPoolConfigRef
instead of BufferPoolConfig allows to retrieve the VideoAlignment
from within buffer pool set_config
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1185 >
2023-01-08 19:15:46 +01:00
Sebastian Dröge
84720eee66
gstreamer: Use Value::from_type_unchecked()
where applicable
...
Gets rid of some unnecessary assertions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-06 10:41:55 +02:00
Sebastian Dröge
89326c7e7c
Compile out GStreamer version checks if a high enough version is configured at build time
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-06 10:41:55 +02:00
Sebastian Dröge
277d63601c
gstreamer: Return glib::GString
for the error/warning/info message debug string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-06 10:41:55 +02:00
Sebastian Dröge
ba1d8c5ce6
gstreamer: Move initialization panic into a separate function
...
This keeps the number of duplicated panics all over the codebase lower
and reduces generated code size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-05 21:33:14 +02:00
Sebastian Dröge
7b279b9d6c
gstreamer-app: Assert that GStreamer is initialized before creating instances
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1184 >
2023-01-05 21:33:14 +02:00
Sebastian Dröge
8d30bcbf4b
Use IntoGlibPtr
trait instead of to_glib_full()
where appropriate to reduce unnecessary refcounting/copying
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
5e852fa0ff
gstreamer-video: Autogenerate part of the VideoDecoder
subframe API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
315704fe67
gstreamer-check: Simplify borrowing of sink/src harnesses
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
1e793f3b65
gstreamer: Return some values by reference instead
...
Less refcounting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1183 >
2023-01-05 12:09:57 +02:00
Sebastian Dröge
32a608b76b
examples: Fix for API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:26:07 +02:00
Sebastian Dröge
b94bfe1613
gstreamer: Remove useless GstPluginExtManual
trait
...
`Plugin` is a final type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
a028e807df
gstreamer: Autogenerate some more API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
7490846309
Fix compilation due to changes in autogenerated code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
567ce0a3bf
Group and merge imports in all manual code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
45c145ad50
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
dce54ee237
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:22:39 +02:00
Sebastian Dröge
0e51e70c5a
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:22:39 +02:00
Sebastian Dröge
6ff5f89832
gstreamer: Fix memory leak in buffer pool subclassing test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
0ed3d95c60
gstreamer: Use glib::StrV
internally instead of a custom version of it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
81bcf5c8dd
gstreamer-video: Implement VideoTimeCode
via glib::wrapper!
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
30838b6549
gstreamer-video: Implement VideoTimeCodeInterval
via glib::wrapper!
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
cbd3035a5b
gstreamer: Implement gst::Segment
via glib::wrapper!
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
8ed150c853
gstreamer: Add missing doc alias
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1180 >
2023-01-03 10:41:35 +00:00
Sebastian Dröge
ae688406f8
gstreamer: Allocate debug messages up to 256 bytes on the stack and only then spill over into the heap
...
With this, debug logging from Rust is completely allocation-less for
short messages and string literals.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1179 >
2023-01-03 10:28:43 +00:00
Sebastian Dröge
06a0dbacba
gstreamer: Don't inline debug logging function
...
It's relatively big and increases code size and stack usage quite a bit,
and having a function call for logging is not going to make much of a
difference as it happens *after* filtering for the debug level
threshold.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1179 >
2023-01-03 10:28:43 +00:00
Sebastian Dröge
036a020b62
gstreamer: Optimize various from/to Vec
FFI translation functions
...
Use memcpys if possible instead of manual loops, and directly write into
the `Vec` memory and set the length afterwards to avoid having the
reallocate logic at every step.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1181 >
2023-01-03 12:06:29 +02:00
Sebastian Dröge
882513d33a
Make use of the new TransparentType
/ TransparentPtrType
traits
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1178 >
2023-01-02 19:07:24 +02:00
Jordan Petridis
aeca82c095
ci: Update examples features on windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1089 >
2022-12-28 14:37:24 +02:00
Seungha Yang
b4d3bf297e
examples: Add d3d11videosink example with Direct2D/DirectWrite interop
...
Demonstartes the use of d3d11videosink's present signal
introduced in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2923
with Direct2D/DirectWrite API interop using the windows crate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1089 >
2022-12-28 11:20:51 +00:00
Sebastian Dröge
e6e5d25e48
Update CHANGELOG.md for 0.19.5
2022-12-27 12:53:30 +02:00
Jordan Petridis
e9ecdcdd72
ci/windows: Update base image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-26 16:17:19 +02:00
Sebastian Dröge
3d0f563111
Update minimum supported Rust version to 1.64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-25 14:54:38 +02:00
Jordan Petridis
141a71d69e
ci: Avoid building examples with --all-features
...
--all-features ends up enabling the windows and trying to compile
the d3d example, which can't be built on linux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-25 13:25:30 +02:00
Jordan Petridis
dfc6344f59
ci: move tests scripts to individual files
...
Instead of inling bash scripts in yaml
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175 >
2022-12-25 13:25:30 +02:00
Sebastian Dröge
146b4fc08e
gstreamer: Fix glib::GStr
API changes
2022-12-25 00:25:42 +02:00
Sebastian Dröge
cdc7aa4846
gstreamer: Allow returning Handled
from BufferList
pad probes
...
This is handled exactly the same way as buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1174 >
2022-12-23 12:21:18 +00:00
Sebastian Dröge
dcfea9c35a
gl: Reset video frame size/stride/offset to 0 for GL mapped frames
...
The memory pointers are actually the GL texture IDs, and accessing them
like raw video memory will read random memory areas.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1173 >
2022-12-22 19:25:54 +00:00
Sebastian Dröge
d6cc452cf3
Use PhantomData
as Stash::Storage
if nothing has to be stored except for a lifetime
...
This reduces the size of all stashes from two pointers to one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1171 >
2022-12-20 17:07:39 +00:00
Sebastian Dröge
f166e80a79
gstreamer: Only use a single temporary Vec
for [T]::to_glib_none()
for miniobjects
...
The value itself is already kept alive via the stash and we only need a
temporary `Vec` to be able to append the terminating `NULL` pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1171 >
2022-12-20 17:07:39 +00:00
Sebastian Dröge
e70536f6b2
ci: Rebuild CI images another time to get latest GStreamer version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
f7b848b3cd
ci/install-{gst,gtk}.sh: run ldconfig after meson install
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
cd49019941
ci/install-{gst, gtk}: update meson command usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
7ecc11564d
ci/install-{gst, rust}.sh: add shebangs to the scripts
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
7b3b4f56ee
ci/install-{gst, gtk}.sh: reformat to make it more readable
...
Split commands and strings to multiple lines
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
bed4b8644b
ci: Include x264 in the gst build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
6c7196732e
ci: Include gpl plugins when building gst
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Jordan Petridis
8344cbc829
ci: use a multiline string for FDO_DISTRIBUTION_PACKAGES
...
Makes it easier to read and change
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169 >
2022-12-18 11:50:23 +00:00
Sebastian Dröge
3764bf75f8
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1170 >
2022-12-16 22:09:29 +02:00
Sebastian Dröge
d7a292ec00
video: Update for NavigationModifierType
flags value rename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1170 >
2022-12-16 22:09:29 +02:00
Sebastian Dröge
7113458128
ci: Rebuild the image for getting newer GStreamer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1170 >
2022-12-16 18:47:06 +02:00
Sebastian Dröge
2e2b572215
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1170 >
2022-12-16 18:46:51 +02:00
Sebastian Dröge
8c22ba25f8
Update CHANGELOG.md for 0.19.4
2022-12-16 11:56:04 +02:00
Sebastian Dröge
857f3740e2
Fix some more new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1167 >
2022-12-15 18:35:49 +02:00
Sebastian Dröge
c32607a010
ci: Update to Rust 1.66 and meson 0.64.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1167 >
2022-12-15 18:16:57 +02:00
Jordan Petridis
9deb507286
ci: Only check default and latest feature version build
...
Testing all the version makes the job slower for not that much
gain. Disable some of them for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1166 >
2022-12-13 21:18:12 +02:00
Jordan Petridis
d867077c3a
ci: Combine windows features builds
...
Part of gstreamer/gstreamer-rs#417
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1166 >
2022-12-13 20:43:24 +02:00
Arun Raghavan
c3a950f207
audio: Add bindings for GstAudioFilter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1165 >
2022-12-13 12:27:05 -05:00
Sebastian Dröge
e3ad1918dc
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1164 >
2022-12-13 11:29:45 +02:00
Piotr Brzeziński
e579eb5d84
examples/tutorials: Use NSApp terminate() instead of sending an event
...
Has the same effect while being much more concise.
Unfortunately the cocoa crate doesn't (yet?) have bindings for this
function, so objc::msg_send! had to be used directly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1162 >
2022-12-11 22:09:54 +01:00
Sebastian Dröge
0fa8d0d62f
gstreamer: Fix formatting if a string literal needs formatting
...
E.g. "blabla {some_variable}" is a string literal but needs formatting,
so we can't just pass it as a literal to the logger.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1161 >
2022-12-11 12:20:35 +02:00
Sebastian Dröge
2a935320e7
gstreamer: Replace some generic function parameters with impl trait
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
ef5d5f50e4
gstreamer: Actually log the function name instead of the module name
...
As there is no way to get the function name as a string literal
currently, we have to copy locally into a NUL-terminated array.
Up to 256 bytes this is managed on the stack, otherwise a heap
allocation is necessary.
For the <256 bytes case the compiler is optimizing most of this away.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
355ebc243f
gstreamer: Add DebugCategory::above_threshold()
to check if the category's threshold is above the given level
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
b58d518aa3
gstreamer: Use glib::GStr
for DebugMessage
string API too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
de04e3f827
gstreamer: Reduce allocations in custom logging functions for the file/function strings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
0e7f5a19df
gstreamer: Require using a NUL-terminated UTF-8 string or a string literal for the logging ID
...
Otherwise each log will involve a new allocation just for the ID.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
2be477b753
gstreamer: Make logging of messages from a string literal allocation-free if using GStreamer 1.20 or newer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
3a61276cdd
gstreamer: Reduce some allocations for passing the filename/module name to the logging functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 20:18:11 +02:00
Sebastian Dröge
750422d8eb
gstreamer: Reduce some code duplication in the logging code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1160 >
2022-12-10 15:48:02 +02:00
Jordan Petridis
1935e04dd8
ci: Fix DAG deps for contianer build jobs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
3ab7bc7648
gstreamer: Add bindings for new 1.22 debug log ID API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
a54c234fc6
gstreamer: Directly use fields for DebugCategory
getters
...
This allows for better optimizations as it doesn't go through an opaque
FFI function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
e8859951d3
gstreamer: Ignore EventType::to_sticky_ordering
...
This is handled manually via the `PartialOrd` impl.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
7012fa638e
Regenerate with latest gir/gir-files/gst-gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
40a5a9edaa
ci: Update Windows docker base image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-09 17:37:01 +02:00
Sebastian Dröge
6a5d16d817
ci: Update image version to get newer GStreamer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-08 20:03:54 +02:00
Sebastian Dröge
73ac98218f
Update gst-gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-08 20:03:54 +02:00
Sebastian Dröge
407f03af0c
Update gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-08 20:03:54 +02:00
Sebastian Dröge
9d1cc19162
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159 >
2022-12-08 20:03:54 +02:00
Sebastian Dröge
b89b98b6e9
Update CHANGELOG.md for 0.19.3
2022-11-28 10:16:21 +02:00
Sebastian Dröge
b5fcbc9657
gstreamer: Get rid of some unnecessary unsafe API usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1157 >
2022-11-27 00:59:38 +02:00
Sebastian Dröge
0bc16c65f0
gstreamer: Add some API for add new items to a gst::Array and gst::List
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1157 >
2022-11-27 00:59:38 +02:00
Sebastian Dröge
ae4dd88f3d
Update for GLib Into<Value>
changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1156 >
2022-11-26 15:19:35 +02:00
Sebastian Dröge
0b013001b7
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1156 >
2022-11-26 15:01:10 +02:00
Sebastian Dröge
92d8df4ac3
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1156 >
2022-11-26 15:01:10 +02:00
Jordan Petridis
e87de384e1
ci: avoid always running build/test jobs
...
Introduce a trigger job with rules that will allow it to always
run when the MR is assigned to Marge and the final tests will be
run before being merge.
This means that Post-merge pipelines and MR pipelines that are
not assigned to Marge, will require a manual run of the trigger
job before the build/test will execute.
This should help easy the load on the gitlab runners.
Related to gstreamer/gstreamer-rs#417
Close gstreamer/gstreamer-rs#401
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1155 >
2022-11-23 18:44:12 +02:00
Sebastian Dröge
3da927a856
gstreamer: Fix sticky event ordering for instant-rate-change
...
The event type for instant-rate-change events was poorly chosen, leading
to them being re-sent too late and even after EOS.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1154 >
2022-11-21 13:43:22 +02:00
Sebastian Dröge
cbfc19ccfc
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:29:38 +02:00
Sebastian Dröge
1ee4845544
video: Remove gst_video_format_info_get_tile_sizes()
bindings and bind new VideoTileInfo
API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:29:38 +02:00
Sebastian Dröge
1fb531bba2
base: Add manual bindings for new 1.22 typefind helper API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:23:38 +02:00
Sebastian Dröge
e763e4fdde
audio/video: Hide force-live
property of Audio/VideoAggregator
...
The base class already provides a getter/setter for this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:04:49 +02:00
Sebastian Dröge
d388cbda13
ci: Rebuild for new GStreamer version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:04:49 +02:00
Sebastian Dröge
b482ef4af5
Update GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1153 >
2022-11-21 13:04:49 +02:00
Sebastian Dröge
fa5491e6b3
Use borrowed miniobject/structure types in more places
...
When the function does not keep around an additional reference of the
value this is correct and more flexible for callers.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/420
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1152 >
2022-11-21 12:40:37 +02:00
Sebastian Dröge
5a0152b469
gstreamer: tracer: Pass &QueryRef
instead of &Query
to the functions
...
To make it impossible for implementor to keep around a reference to the
query as that would break element code that actually tries to answer the
query.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1152 >
2022-11-21 12:40:37 +02:00
Sebastian Dröge
1264eb10ac
gstreamer: Add PartialEq
impls between owned/borrowed miniobjects/structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1152 >
2022-11-21 12:40:37 +02:00
Sebastian Dröge
56b9b66027
gstreamer: Implement FromIterator<Caps>
and Extend<Caps>
for Caps
...
This allows easily generating new/extending existing caps from an
iterator.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1151 >
2022-11-21 10:10:04 +02:00
Sebastian Dröge
774fafd987
gstreamer: Implement From<T> for Signed<T>
...
This makes usage simpler in a few places.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1150 >
2022-11-18 12:07:13 +02:00
Edward Hervey
77fd187986
format: Add Signed<T>
<=> signed integer conversions
...
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1149 >
2022-11-16 16:32:24 +02:00
Sebastian Dröge
88791294a5
Update CHANGELOG.md for 0.19.2
2022-11-13 20:13:29 +02:00
Sebastian Dröge
9ba448427d
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1148 >
2022-11-12 17:40:16 +02:00
Sebastian Dröge
a6ef6dd1ec
Update gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1148 >
2022-11-12 17:39:12 +02:00
Sebastian Dröge
c69ff617f5
ges: Don't generate version constants in the -sys crate
...
They will change with every new version and make the tests fail if
running against a different version.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/422
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1146 >
2022-11-12 16:48:33 +02:00
Elie Génard
f1c8869447
gstreamer: Add gst::Allocator
subclassing support
2022-11-08 19:28:42 +00:00
Sebastian Dröge
58e51417c0
ci: Rebuild image to get updated GStreamer version
2022-11-08 19:07:48 +02:00
Sebastian Dröge
d3543efec2
gstreamer: Manually implement Allocator::register()
...
Due to a bug it causes use-after-free in versions < 1.20.5, so work
around that here.
2022-11-08 19:07:48 +02:00
Sebastian Dröge
32c432655f
Regenerate with latest GStreamer gir files
2022-11-08 18:15:34 +02:00
Sebastian Dröge
220da7f1e0
Update GStreamer gir files
2022-11-08 18:13:10 +02:00
Sebastian Dröge
e2b38774cf
ci: Update to gtk 4.8.2
2022-11-03 17:06:53 +02:00
Sebastian Dröge
7079768dd7
ci: Update to meson 0.63.3
2022-11-03 17:06:53 +02:00
Sebastian Dröge
19949fa2c9
ci: Update to Rust 1.65
2022-11-03 17:06:44 +02:00
Sebastian Dröge
efb85f416e
ci: Only warn about unknown lints instead of denying
2022-11-01 11:14:31 +02:00
Sebastian Dröge
01e24d2018
Fix various new clippy warnings
2022-11-01 11:10:57 +02:00
Sebastian Dröge
951f000622
examples: glupload: Set sync point on the GL buffer as soon as possible
...
And also add API for getting the GL context from a `GLBaseMemory`.
2022-10-25 06:51:39 +00:00
Sebastian Dröge
c6cbf86012
examples: glupload: Fix iterating over elements inside glsinkbin
...
Some elements might not have a factory so handle this gracefully instead
of erroring out.
2022-10-25 06:51:39 +00:00
Sebastian Dröge
2cad43cd0f
ci: Remove 0.16 and 0.17 docs
...
Otherwise the pages are too big.
2022-10-24 20:09:15 +03:00
Sebastian Dröge
2bffc4e5ec
Fix 0.19.1 release date in the changelog
2022-10-24 12:34:21 +03:00
Sebastian Dröge
708ad14422
Update CHANGELOG.md for 0.19.1
2022-10-24 12:32:45 +03:00
Sebastian Dröge
90b8ee2022
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:06:44 +03:00
François Laignel
87ea535bc1
gst/log: accept non-ref obj in macros
2022-10-23 20:44:38 +02:00
Sebastian Dröge
67ecf0823d
ci: Add 0.19 release to the docs job
2022-10-22 21:12:40 +03:00
Sebastian Dröge
92215f4a63
Add missing README.md to new crates
2022-10-22 21:12:23 +03:00
Sebastian Dröge
031133c179
Update versions to 0.20.0
2022-10-22 20:27:42 +03:00
Sebastian Dröge
7331dbc440
Update CHANGELOG.md for 0.19.0
2022-10-22 20:22:10 +03:00
Sebastian Dröge
47394a437f
tutorials: Update to termion 2
2022-10-22 20:22:10 +03:00
Sebastian Dröge
bf7c770457
Regenerate with latest gir files
2022-10-22 20:22:10 +03:00
Sebastian Dröge
f439a0ab85
Update GStreamer gir files
2022-10-22 20:22:10 +03:00
Sebastian Dröge
a1165a7456
gstreamer: Add bin/pipeline builders
...
And also implement the Default trait for them.
2022-10-22 17:36:36 +03:00
Sebastian Dröge
2a4e1069a1
app: Add an AppSrc/AppSink builder
...
These allows to construct these elements explicitly together with all the
properties instead of going via gst::ElementFactory::make().
2022-10-22 10:19:49 +03:00
François Laignel
0e5a4f05f8
gst: fix Element::request_new_pad
signature
...
See:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1133#note_1600152
2022-10-21 11:30:02 +02:00
François Laignel
4ebdfb8602
Use impl Into<Option<_>>
for functions impacted by nullability fixes
...
This commit addresses the functions which signatures changed in
commit f9690817
so that users can still use e.g.
`query.set_result(val)` instead of `query.set_result(Some(val))`.
See [1] for an attempt at generalizing this approach.
[1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1133
2022-10-21 11:30:02 +02:00
Tim-Philipp Müller
bfbcdb5925
ci: make windows msrv job manual to reduce load on windows runners
...
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/417
2022-10-20 13:56:41 +01:00
Sebastian Dröge
130cc9d63b
element: Implement linking functions manually for better error reporting
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/318
2022-10-19 17:59:04 +03:00
Sebastian Dröge
7423b1dea6
elementfactory: Change make()
/ create()
to builders and keep the old variants as create_with_name()
/ make_with_name()
...
As a side-effect, this also now includes the element factory name in the
error messages instead of giving the same error string for every
factory.
Partially fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/318
Also let them all go through the same, single object construction code.
2022-10-19 17:48:39 +03:00
Sebastian Dröge
7ad75d4b1f
elementfactory: ElementFactory::create_with_properties() is available in any GStreamer version
...
As it's re-implemented here now instead of calling into the C function.
2022-10-19 13:53:06 +03:00
Sebastian Dröge
9c282ec7c3
gstreamer: Implement ElementFactory::create_with_properties() manually
...
This way we can get the same property checks as normal object
construction would provide.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/402
2022-10-18 16:27:10 +00:00
Sebastian Dröge
5495acf77d
rtp: Export functions
2022-10-18 19:21:39 +03:00
Sebastian Dröge
67e3183922
Regenerate with latest gir and gir-files
2022-10-18 18:16:51 +03:00
Sebastian Dröge
19f7aaf413
Generate only a single versions file for sys crates too
2022-10-18 18:15:01 +03:00
Sebastian Dröge
9a9ce252a4
Fix usage of dox feature
2022-10-18 18:15:01 +03:00
Sebastian Dröge
d80227e566
Trust nullability annotations everywhere
2022-10-18 18:15:01 +03:00
Sebastian Dröge
f9690817ad
Fix nullability handling in some functions in manual code
2022-10-18 18:15:01 +03:00
Sebastian Dröge
935609ad6c
Update GStreamer gir files
2022-10-18 18:15:01 +03:00
Sebastian Dröge
cc59067811
Update gir files
2022-10-18 18:15:01 +03:00
Sebastian Dröge
77252708a4
Update gir
2022-10-18 18:15:01 +03:00
Rafael Caricio
20a493ee49
Implement MpegTs safe bindings
...
Adds safe bindings generated from Gir for the MpegTS library. Not all
object bindings are generated. This contains a subset of the
library that allows to use it's basic functionality.
Part of the API is written manually to add some extra methods like
setting struct field values and other useful features.
2022-10-18 13:55:09 +00:00
Vivia Nikolaidou
8d3ada5d89
pad: Catch panics in pad task functions
...
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/246
2022-10-18 10:38:12 +00:00
François Laignel
49faa03c98
gst/format: make from_u64
constructors const
...
This commit makes the formatted values' main constructors `const`,
so that they can be used in constant definitions.
`from_usize` constructors can't be made const because `try_into`
can't be used in `const` functions as of rustc 1.64.0. Same for
`Percent::from_ratio`: floating point arithmetic is not allowed.
2022-10-18 11:24:57 +02:00
François Laignel
384783b242
gst/format: introduce Constructor traits
...
Introduce a set of Constructor traits which are implemented on
integer of float depending on the formatted values. This traits
allows building formatted values using expressions such as:
```rust
let buffer_nb = 20.buffers();
let size = 42.k_bytes();
let duration = 15.minutes() + 30.seconds();
let quantity = 42.default_format();
let progress = 20.percent();
let progress = 0.2.percent_ratio();
```
2022-10-18 11:24:08 +02:00
Sebastian Dröge
f5a902ba49
example: Update for pango API changes
2022-10-17 19:55:42 +03:00
Sebastian Dröge
7721030c15
Add some more information about setup on Windows/macOS to the README.md
2022-10-14 21:26:12 +05:30
Sebastian Dröge
4bdbe0022b
examples: Fix compilation after pangocairo API changes
2022-10-14 18:11:42 +03:00
Vivia Nikolaidou
6f51444c1f
audio: Add channel_mask() and default_channel_mask() to AudioCapsBuilder
...
Also use default_channel_mask() where applicable
2022-10-14 16:58:19 +03:00
Vivia Nikolaidou
b230d8aab6
examples, video: Use .into() instead of gst::Fraction::new()
...
Simplifies the code
2022-10-14 16:26:00 +03:00
Vivia Nikolaidou
39bb9abc3c
caps: Add .structure() to CapsBuilder
...
Allows us to get the structure, to read fields after adding them to the
builder.
2022-10-14 16:24:51 +03:00
Vivia Nikolaidou
6d4ad712c7
examples, audio, pbutils, video: Use AudioCapsBuilder and VideoCapsBuilder
...
Simplify caps creation code
2022-10-14 13:59:51 +03:00
Sebastian Dröge
734afa998b
gstreamer: Implement pad default functions as associated functions
...
Making them associated functions clearer that special care is required
and avoid conflicts with the same functions in ghostpad/proxypad.
2022-10-12 18:29:52 +03:00
Sebastian Dröge
69f05a1577
ci: Update image version
2022-10-12 15:21:24 +03:00
Sebastian Dröge
b9e4b91a3d
rtsp-server: Add bindings for new RTSPClientImpl::adjust_error_code()
2022-10-12 15:09:47 +03:00
Sebastian Dröge
7d10f9f4c8
Regenerate with latest gir/gir-files
2022-10-12 15:05:07 +03:00
Sebastian Dröge
8aa1634902
Update GStreamer gir files
2022-10-12 15:01:45 +03:00
Sebastian Dröge
5cdf98b76d
Update gir files
2022-10-12 15:01:45 +03:00
Sebastian Dröge
344026a178
Update gir
2022-10-12 15:01:43 +03:00
Sebastian Dröge
08cac646be
examples: Fix formatting
2022-10-12 14:33:13 +03:00
Sebastian Dröge
b89a285178
Use correct gobject-sys::GObject
type in the examples/tutorials
2022-10-12 14:30:19 +03:00
François Laignel
dcf6d16496
gst/format: new panicking constructors and some Percent fixes
...
Previous proposition for constructing specific formatted values was
to use an operation such as `42 * Default::ONE` which, in retrospect,
doesn't seem idiomatic.
This commit adds `from_u64` and `from_usize` constructors for most
formatted values. Having `from_usize` is convenient when dealing with
quantities related to containers indices or length.
This also fixes the `Percent` from float constructors from which was
derived the `ONE` constant as well as previous display implementation.
Also removed the `pub` specifier for `Undefined` inner value. It wasn't
removed in a previous commit as `Undefined` can use the full range of
the inner type. But now, it seems preferable not to expose the inner
value for proper encapsulation and so as to reduce the differences with
other formatted values (kind of least astonishment principle).
2022-10-11 13:25:53 +02:00
François Laignel
08551bb1bc
format/specific: don't expose inner as pub
...
... users would be able to bypass the range checks and build a
defined Rust value which would be interpreted as `None` in C code.
Added format module examples for formatted values constructions.
2022-10-10 19:23:35 +02:00
François Laignel
f6336b1be3
gst/format: fix Percent
Display
impl
...
- The `GST_FORMAT_PERCENT_SCALE` was not used to compute the value
to display.
- Added `Display` examples in the format module documentation.
- Simplified `glib_newtype_display` macro.
2022-10-10 18:44:59 +02:00
François Laignel
8e2c621a9f
gst/lib: cleanup format re-exports
2022-10-10 15:10:10 +02:00
Sebastian Dröge
a4d901ee63
gstreamer: Add an gst::element_error! variant that works on element implementations
2022-10-10 15:01:07 +03:00
Sebastian Dröge
7bd4d770ff
gstreamer: Remove unnecessary trait bounds
2022-10-10 15:01:07 +03:00
Sebastian Dröge
f17781e188
Change *Impl trait methods to only take &self and not Self::Type in addition
2022-10-10 15:01:07 +03:00
Sebastian Dröge
25c53c4276
gstreamer: Implement new logging variants that work ObjectSubclass
values
2022-10-10 15:01:07 +03:00
François Laignel
274a5bd020
gst/format: implement GenericSignedFormattedValue
...
The `Signed` version for `GenericFormattedValue` was implemented as
`Signed<GenericFormattedValue>`, which failed to represent properly
the `None` variants when applicable and could represent inconsistent
`Signed` variant combined with `GenericFormattedValue` formats which
are internaly represented as signed integers.
2022-10-09 20:00:40 +02:00
François Laignel
04b6710f84
format/Other: use u64 internally instead of i64
2022-10-09 20:00:38 +02:00
François Laignel
8a7813d04c
gst: move format_serde.rs under format module
2022-10-09 18:53:57 +02:00
Sebastian Dröge
dac3cf67f4
Update for additional translation trait impls in gtk-rs-core
2022-10-08 15:35:37 +03:00
Sebastian Dröge
3cd902513d
Update for glib::Object::new() API changes
2022-10-07 21:45:01 +03:00
Sebastian Dröge
dcd53bd16e
Regenerate with latest gir
2022-10-07 20:30:24 +03:00
Sebastian Dröge
6300c39998
Update gir
2022-10-07 20:28:51 +03:00
SeaDve
d8a57e6d4a
pbutils/encoding_profile: Prevent copies by taking data by value
2022-10-03 12:21:44 +00:00
SeaDve
238f9baee5
pbutils/element-properties: Add ElementPropertiesMapItem
...
Also add `field_value` counterpart on both ElementPropertiesGeneralBuilder and ElementPropertiesMapBuilder.
2022-10-03 12:21:44 +00:00
Sebastian Dröge
c64b6ac68b
tracer: Use Results instead of plain success/failure enums
...
This makes it more convenient to handle the success/failure cases in
tracer implementations and is more consistent.
2022-10-02 10:45:14 +03:00
Sebastian Dröge
ade0aad6b0
tracer: Make buffer in pull-range-post function optional
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/410
2022-10-02 10:36:05 +03:00
François Laignel
bff1354b74
gst/format: module doc
2022-10-01 13:16:06 +02:00
François Laignel
e2fe1d6371
gst/format: macros minor cleanups
2022-10-01 13:16:06 +02:00
François Laignel
57d8d46ab6
gst/format: fix some ops and add others
...
Some operations were implemented on types that wouldn't result in
the expected physical unit. E.g.:
- `ClockTime / ClockTime` results in a unit-less factor.
- `u64 / ClockTime` would result in a `1 / ClockTime`. Since we don't
use any `Frequency` type, this operation is removed. Users should
use the `ClockTime` accessors to compute the expected value.
This commit also adds:
- multiplications with integers as the left hand side operands.
- `Partial{Eq,Ord} for `Signed<T>` with `T` as left hand side operand.
- `opt_add` / `opt_sub` for `Signed<T>` with `T` as left or right hand
side operands.
- missing tests for `Partial{Eq,Ord}` and `OptionOrd`.
This implementation can interfere with unrelated code and was removed:
- `Signed<usize>.` `PartialOrd` makes existing code computing the len
of slices needing type annotation because the len is later used in
a comparison for which the compiler is unable to determine if
the len is `Signed<usize>` or `usize`.
2022-10-01 13:15:11 +02:00
François Laignel
eb4d997f0a
gst/format: shuffle types and traits
2022-10-01 00:49:42 +02:00
François Laignel
79377337a4
gst/format: move related modules under a directory
2022-10-01 00:49:39 +02:00
Rafael Caricio
69ea30dbda
gstreamer: meta: Allow to register custom meta without transform function
2022-09-29 14:05:35 +02:00
Jordan Petridis
4f2d974aa6
ci/windows: Install pango explicitly
...
Instead of relying on the subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1110 >
2022-09-29 05:01:05 +03:00
Jordan Petridis
21e342c947
ci/windows: Update base windows image tag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1110 >
2022-09-29 05:01:05 +03:00
Jordan Petridis
ccb9e3a7f8
ci: Update gtk to 4.8.1
...
And follow release tags instead of branches.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1110 >
2022-09-29 05:01:05 +03:00
Sebastian Dröge
e294bb9713
ci: Update to meson 0.63.2 for the image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1110 >
2022-09-29 05:01:05 +03:00
Sebastian Dröge
a2150b8368
ci: Update to Rust 1.64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1110 >
2022-09-29 05:01:05 +03:00
Sebastian Dröge
92c6eefadd
audio: Ignore ignore-inactive-pads
property in AudioAggregator
...
getters/setters are already generated for the `Aggregator` base class
and the property in the subclass is not really needed here. It also
causes problems with trait resolution as the getter/setter functions
will exist twice.
2022-09-23 17:01:06 +03:00
François Laignel
99e344af4d
gst/format: simplify some ops impl
...
The `SpecificFormattedValue` types are newtypes of `u64` or `u32`
and they all implement `Copy`. It shouldn't be needed to implement
operations on `&Type` nor `&inner_type`.
2022-09-22 00:05:28 +02:00
François Laignel
86549dc06e
gst/Segment: return immediately from some functions...
...
... if the input `is_none`.
2022-09-21 17:20:43 +00:00
François Laignel
8595b67218
gst/Signed: impl option-operations
traits
2022-09-21 17:20:43 +00:00
François Laignel
183a399d1d
gst/Signed: impl MulDiv
2022-09-21 17:20:43 +00:00
François Laignel
2b4fcb131e
gst/Signed: impl div & mul
2022-09-21 17:20:43 +00:00
François Laignel
1411c9e35e
gst/Signed: use a new trait for into_{signed,positive,negative}
...
The functions `into_{signed,positive,negative}` used to be implemented
on the `FormattedValue` trait for convenience. This was wrong for the
following reasons:
- They aren't specific to `FormattedValue`s: they can also be
implemented for regular unsigned integers such as `u64`, `usize` or
`u32`.
- They were implemented for `format::Undefined` and all variants of
`GenericFormattedValue`, some of which are already signed.
This commit introduces the new trait `UnsignedIntoSigned`, which makes
it possible to fix both of the above problems.
Users can build a `Signed` from an `Undefined`, an `i64`, `isize` or
`i32` thanks to the `From` trait implementations.
2022-09-21 17:20:43 +00:00
François Laignel
960befb2f5
gst/Signed: move signed ops macro to macro.rs
...
This will help with the implementation of Signed muls & divs for
`FormattedValue`s since we need to know about the inner types.
2022-09-21 17:20:43 +00:00
François Laignel
0d229b4c69
gst/format: separate non trait ops format macros from common ops
2022-09-21 17:20:43 +00:00
François Laignel
432cb36611
gst/Signed: add tests and fix some ops impl
2022-09-21 17:20:43 +00:00
François Laignel
8e6afe147e
gst/Signed: impl Display and Displayable
2022-09-21 17:20:43 +00:00
François Laignel
a1dbc7a0ee
gst/format: use fmt::Display whenever possible
...
Previous implementation for the glib format new types built a
`String` for the displayable value. This commit uses `fmt`
mechanisms so as to limit useless allocations.
2022-09-21 17:20:43 +00:00
François Laignel
e0d9f886e3
gst/format: add Signed::{positive, negative}
...
It's more convenient to use than:
```rust
signed_val.positive_or(()).ok()
```
2022-09-21 17:20:43 +00:00
François Laignel
55ef309b16
gst/ClockTime: panic building from GST_CLOCK_TIME_NONE
...
Using `ClockTime::from_nseconds` it was possible to build a valid
`ClockTime` which would match `GST_CLOCK_TIME_NONE` when passed to
the C API, leading to unexpected behaviour as `GST_CLOCK_TIME_NONE`
is represented as an `Option::<ClockTime>::None` in Rust.
This commit panics when this function is called with
`GST_CLOCK_TIME_NONE` (defined as `u64::MAX`). This is similar to
what happens when calling other `ClockTime` constructors (e.g.
`from_seconds`) with too large a value: the internal multiplication
overflows leading to a panic.
2022-09-21 17:20:43 +00:00
François Laignel
b8e1c25c85
gst/log: log arg eval fix non regression test
2022-09-21 17:20:43 +00:00
Jordan Petridis
253ba03a7a
ci: Use correct variable for the upstream image repo
2022-09-20 17:47:43 +03:00
Jordan Petridis
a75d881272
ci: Don't filter out scheduled pipelines
...
Close #370
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1105 >
2022-09-16 16:18:55 +03:00
Sebastian Dröge
64829ac47a
gstreamer: Use type parameters instead of trait objects for TypeFindFactory::call_function()
...
No need to do dynamic dispatch here.
2022-09-16 11:26:24 +03:00
Sebastian Dröge
1b10c5324d
gstreamer: Add BinImpl::do_latency()
2022-09-16 06:54:55 +00:00
SeaDve
59efe09fe5
pbutils/encoding_profile: Add support for 1.20 element-properties API
2022-09-15 16:36:44 +03:00
Sebastian Dröge
8a6de3ca4f
gstreamer: Implement various operations on Signed
for working with it more easily
2022-09-14 12:20:47 +03:00
François Laignel
f294339240
log: differ formatted args evaluation
...
When the `format_args!` macro is used, formatted args are evaluated
in order to form the argument collection that ends up being formatted
when requested to do so.
For the log macro, this means that any argument that is an expression
was evaluated even if the log level was below current threshold. This
can be examplified by the following code:
```rust
gst::debug!(CAT, "{}", {
println!("fmt arg executed");
"A debug log"
});
```
This used to print "fmt arg executed" even when the log threshold for
`CAT` was filtering `debug` out.
Note that this could break existing code that would incorrectly rely
on the side effect.
2022-09-13 19:25:14 +02:00
Sebastian Dröge
7fa76eac1b
ci: Update image template version for a rebuild
2022-09-13 12:13:30 +03:00
Sebastian Dröge
dec112d0a8
Regenerate with latest gir/gir-files/gst-gir-files
2022-09-13 12:13:07 +03:00
Sebastian Dröge
77029602ae
Update GStreamer gir files
2022-09-13 12:12:57 +03:00
Sebastian Dröge
eb798fb83b
Update gir-files
2022-09-13 11:49:22 +03:00
Sebastian Dröge
97e8913cb9
Update gir
2022-09-13 11:49:10 +03:00
François Laignel
f014505e1c
regen: rename feature 'ser_de' as 'serde'
2022-09-12 19:36:32 +02:00
François Laignel
069c6a2c01
Rename feature 'ser_de' as 'serde'
...
When I introduced the 'ser_de' feature, I couldn't find a way to
name it 'serde' while also make it pull the optional 'serde'
crate together with the other related dependencies.
With rustc >= 1.60 we can use 'dep:serde' to refer to the 'serde'
dependency as part of the 'serde' feature.
2022-09-12 19:36:30 +02:00
Sebastian Dröge
879d6a4548
audio: Use new 1.63 std::array::from_fn
instead of the external array-init
crate
2022-09-05 18:10:17 +03:00
Sebastian Dröge
099ffdc4b4
examples: Change cairo-compositor example to use ParamSpec builders
2022-09-05 11:48:37 +03:00
Sebastian Dröge
8d982d8b51
ci: Checkout git submodules before running gir checks
2022-09-04 22:46:57 +03:00
Sebastian Dröge
efe13948cc
ci: Update gst-gir-files and bring autogenerated code in sync
2022-09-04 20:51:07 +03:00
Sebastian Dröge
5163e212ed
ci: Install rustfmt in the nightly toolchain for generator.py
2022-09-04 20:49:19 +03:00
Sebastian Dröge
a7618aecc2
ci: Add job that checks that all generated files and submodules are in the correct version
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/400
2022-09-04 10:42:29 +03:00
Sebastian Dröge
e5a785c9a5
ci: Embed docs before removing them to check more completely that there are no leftover docs
2022-09-04 10:41:57 +03:00
Sebastian Dröge
d00b289621
Don't checkout submodules by default
...
This makes sure that cargo does not clone and checkout all the
submodules if pointing to this repository as a git dependency.
To checkout the submodules `git submodule update --checkout` can be
used.
2022-09-04 10:39:18 +03:00
Sebastian Dröge
35c6af424d
Update minimum supported Rust version to 1.63
2022-09-04 10:37:13 +03:00
Sebastian Dröge
201eed8400
gstreamer: Sync param spec API with glib
2022-09-04 10:34:05 +03:00
Arun Raghavan
6c594b4c38
ci: Bump Rust MSRV to 1.61
...
This is needed by recent bytes-utils (see
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/847#note_1536032 )
2022-09-02 12:45:31 -04:00
Arun Raghavan
b6c8938f1a
ci: Enable libnice while building GStreamer
...
This enables webrtcbin as well, which is needed for the whipsink plugin
in gst-plugins-rs.
2022-09-02 12:22:00 -04:00
Thibault Saunier
5227af5935
validate: Update from fixed gir
2022-08-31 22:02:22 +00:00
Jordan Petridis
8ca9692924
windows: Install dav1d in the docker image
...
Also to be used in the gst-plugins-rs CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1084 >
2022-08-31 23:08:14 +03:00
Jordan Petridis
29bc304c88
ci: Set the PATH var in the docker image rather than scripts
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1084 >
2022-08-31 23:05:08 +03:00
Jordan Petridis
be356dbf08
ci: Use a prefix for the meson build in the windows image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1084 >
2022-08-31 23:05:08 +03:00
Jordan Petridis
9a9b7bc5ce
ci: Install gtk on the windows image
...
So we can use it in gst-plugins-rs CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1084 >
2022-08-31 23:05:08 +03:00
Jordan Petridis
f7248408cb
ci: Update the docker windows base image
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1084 >
2022-08-31 23:05:07 +03:00
Rafael Caricio
6163914605
pbutils: Add bindings for the AudioVisualizer base class
2022-08-31 14:03:58 +02:00
Sebastian Dröge
44d899a0eb
Regenerate with latest gir / gir-files / gst-gir-files
2022-08-31 11:13:08 +03:00
Sebastian Dröge
8a89be67f7
ci: Update image template version to update GStreamer
2022-08-31 11:02:14 +03:00
Sebastian Dröge
870ad5e4d7
Update gst-gir-files
2022-08-31 11:02:00 +03:00
Sebastian Dröge
a207765e36
Update gir-files
2022-08-31 11:01:55 +03:00
Sebastian Dröge
ebab45d7b0
Update gir
2022-08-31 11:01:45 +03:00
Guillaume Desmottes
e229288ecd
gstreamer: manually implement Debug on PromiseReply
...
The default implementation was not very useful:
PromiseReply(
Promise {
inner: Shared {
inner: 0x00007ff108001090,
},
},
)
2022-08-29 08:59:21 +00:00
Thibault Saunier
a341b4972f
validate: Do not check if initialized when initializing
...
🤦
2022-08-26 11:27:23 -04:00
Guillaume Desmottes
1e24e2d133
gstreamer: caps: improve Debug implementation
2022-08-25 10:54:16 +02:00
Guillaume Desmottes
0c9158f404
gstreamer: taglist: improve Debug implementation
2022-08-25 10:54:16 +02:00
Guillaume Desmottes
64c09353b7
gstreamer: structure: improve Debug implementation
...
g_strdup_value_contents() output is not easily readable with nested
structures
2022-08-25 10:54:16 +02:00
Thibault Saunier
e9d95eda59
gstreamer: Add extension trait to mark API as plugins API
...
This adds an extension trait implemented for GType so we can
add and check plugins API status.
Required so we can document plugins written in rust.
2022-08-24 10:38:06 -04:00
Philippe Normand
70d95dca4c
validate: New crate for GstValidate bindings
...
Co-authored-by: Thibault Saunier <tsaunier@igalia.com>
2022-08-23 12:04:05 -04:00
Sebastian Dröge
f65d410fc5
gstreamer-video: Add bindings for VideoInfo::in_info() / out_info()
2022-08-19 19:45:30 +03:00
Sebastian Dröge
ffa6d67868
webrtc: Add accessors for WebRTCICECandidateStats
2022-08-19 19:45:30 +03:00
Sebastian Dröge
76f01516e3
Regenerate with latest GStreamer gir files
2022-08-19 19:42:05 +03:00
Sebastian Dröge
4c7581ab03
ci: Update image version to build newer GStreamer
2022-08-19 19:40:51 +03:00
Sebastian Dröge
0e72d934e1
Update GStreamer gir files
2022-08-19 19:40:33 +03:00
Sebastian Dröge
8d9abb935b
gstreamer: Update to ron 0.8
2022-08-16 13:09:49 +03:00
François Laignel
be2de21602
Update option-operations to 0.5.0
...
This fixes the trait `OptionEq` not being exported in `prelude`.
2022-08-15 22:44:53 +02:00
Sebastian Dröge
fbad0fd0bc
Regenerate with latest gir / gir-files / gst-gir-files
2022-08-14 14:02:50 +03:00
Sebastian Dröge
0921028507
Update GStreamer gir files
2022-08-14 12:29:19 +03:00
Sebastian Dröge
212099c55f
Update gir-files
2022-08-14 12:01:52 +03:00
Sebastian Dröge
fad06dd47d
Update gir
2022-08-14 12:01:33 +03:00
Guillaume Desmottes
c5d19e7c80
miniobject: implement ptr_eq() on ref type
2022-08-12 11:15:08 +02:00
Guillaume Desmottes
c0fd8a8aad
gstreamer: add BufferRef::ptr_eq()
2022-08-12 08:29:49 +02:00
Guillaume Desmottes
2dcd5cf9eb
as_ptr() and as_mut_ptr() accessors are safe
...
Nothing unsafe about getting a pointer, deferencing it is unsafe.
2022-08-12 08:29:49 +02:00
Sebastian Dröge
4e221c1b48
ci: Update to Rust 1.63
2022-08-11 18:18:51 +03:00
Sebastian Dröge
b06a692dea
Fix a new beta clippy warning
...
warning: unused return value of `std::boxed::Box::<T>::from_raw` that must be used
--> gstreamer-rtsp-server/src/rtsp_session_pool.rs:23:5
|
23 | Box::<F>::from_raw(ptr as *mut _);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_must_use)]` on by default
= note: call `drop(from_raw(ptr))` if you intend to drop the `Box`
2022-08-10 10:27:27 +00:00
Vivia Nikolaidou
583ef0395d
audio: Add new_interleaved() to AudioCapsBuilder
...
Because it's very common that elements support only interleaved audio.
2022-08-10 09:50:01 +00:00
Sebastian Dröge
2cb7fc8122
gstreamer: Add GstParamSpecBuilderExt trait to easily allow setting controllable, mutable-ready and other extension flags
2022-08-10 12:28:05 +03:00
Sebastian Dröge
446f09fec6
gstreamer: Implement new ParamSpecBuilderExt trait from glib
2022-08-10 12:03:51 +03:00
Sebastian Dröge
8a50bbcaa3
audiobuffer: Remove unnecessary ref/deref
...
warning: deref on an immutable reference
--> gstreamer-audio/src/audio_buffer.rs:255:35
|
255 | Self::Owned(ref b) => &*b,
| ^^^
|
= note: `#[warn(clippy::borrow_deref_ref)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref
2022-08-09 21:08:22 +00:00
Sebastian Dröge
9018d1e3ac
examples: Update to glutin 0.29
2022-08-09 18:46:00 +00:00
Vivia Nikolaidou
7a9537c0fd
audio, video: Default values in caps builders
...
AudioCapsBuilder::new() will have the default values for
rate/channels/layout/format. Similarly, VideoCapsBuilder::new() will
have the default values for format/width/height/framerate.
2022-08-09 15:00:54 +03:00
Vivia Nikolaidou
751a5b4788
gstreamer-video: Add tests for previous/next fraction
2022-07-20 11:06:21 +00:00
Vivia Nikolaidou
138bc71051
gstreamer-audio: Add AudioCapsBuilder
2022-07-20 11:06:21 +00:00
Vivia Nikolaidou
32fbb04fa4
gstreamer-video: Add VideoCapsBuilder
2022-07-20 11:06:21 +00:00
Sebastian Dröge
95b541cf82
ci: Update to Rust 1.62.1
2022-07-19 16:51:18 +03:00
François Laignel
2d17d46c50
gst: use Signed where applicable
2022-07-18 23:26:20 +02:00
François Laignel
414222aa99
gst/format: Signed wrapper
...
Functions such as Segment::to_running_time_full replicate the C
signature for the return type: an integer indicates whether the
resulting value must be interpreted as positive or negative.
In Rust, alternatives are usually represented using an enum.
This commit implements an enum wrapper to represent the sign
and adds functions to FormattedValue to ease Signed handling.
2022-07-18 23:26:20 +02:00
Sebastian Dröge
dccd0f9e01
ci: Update rustup to 1.25.1
2022-07-18 13:26:17 +03:00
Sebastian Dröge
8cb13ac752
video: Add new Colorimetry::is_equivalent()
2022-07-18 13:25:48 +03:00
Sebastian Dröge
b5920ee729
Regenerate with latest gir
2022-07-18 13:25:36 +03:00
Sebastian Dröge
16655828ab
Update GStreamer gir files
2022-07-18 13:20:45 +03:00
Sebastian Dröge
afe594089b
Update gir-files
2022-07-18 13:14:34 +03:00
Sebastian Dröge
4201727769
Update gir
2022-07-18 13:14:23 +03:00
Sebastian Dröge
cf1a64ecf8
gstreamer: Hide some useless enum variants that only make sense in C
2022-07-18 13:13:48 +03:00
François Laignel
99fb9423d2
regen: optional return type for TestClock::next_entry_type
2022-07-15 13:38:23 +02:00
François Laignel
8720c9c386
check: fix optional return type for TestClock::next_entry_type
2022-07-15 13:38:23 +02:00
Tomasz Andrzejak
2090452e3d
Update minimum supported rust version
2022-07-14 15:23:34 +02:00
Sebastian Dröge
538eb95e51
ci: Update to rustup 1.25.0 and meson 0.63.0
2022-07-12 10:26:44 +03:00
François Laignel
a787197254
Use CompatibleFormattedValue where applicable
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
François Laignel
865df62f8d
gst/format: add CompatibleFormattedValue
...
The trait CompatibleFormattedValue can be used to check argument
compatibility to a certain Format. This is convenient to define
function which accept several FormattedValues which must hold
values of the same Format.
This trait enforces format compatibility at compilation time for
SpecificFormattedValues and at runtime when a GenericFormattedValue
is provided.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
François Laignel
fe319af598
Implement FormattedValue on any candidate type
...
The trait FormattedValue was only implemented on types which
could implement the full range of values for a Format. In order
to declare a function which could take both the intrinsic type
of any Format (e.g. `ClockTime`) as well the full range of values
(e.g. `Option<ClockTime>`), the argument was declared:
```rust
impl Into<GenericFormattedValue>,
```
This commit implements `FormattedValue` for any type representing
a format. E.g.: both `ClockTime` and `Option<ClockTime>` will now
implement `FormattedValue`. The trait `FormattedValueFullRange`
is implemented on types which can be built from any raw value.
These changes are intended to help for the implementation of a
means to enforce format conformity at compilation time for
functions with multiple formatted value arguments.
The following signatures were found to be incorrect and are fixed:
- `message::StepDone`: forced the type for `amount` and `duration`
to be of the same type, when `duration` is expected to be of the
`Time` format.
- `query::Convert::set`: the two arguments were forced to the same
type, so potentialy the same format, unless a
`GenericFormattedValue` was used.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
Guillaume Desmottes
fbceaab941
utils: streamproducer: add API to retrieve last sample from producer
...
This may be used for example to easily generate thumbnails from video
producers.
2022-07-11 11:32:06 +02:00
Guillaume Desmottes
0e17878bed
utils: streamproducer: add API to retrieve pushed and dropped buffers
...
This may be used by applications to compute statistics about the overall
pipeline health, like the ratio of buffers dropped.
2022-07-11 09:10:52 +02:00
Paolo Borelli
f2a2e6702c
caps: add new_empty_simple constructor
2022-07-05 14:49:21 +02:00
Sebastian Dröge
17005f220b
ci: Update to Rust 1.62
2022-07-01 00:04:33 +03:00
Sebastian Dröge
4dade30f0d
Fix/silence a couple new clippy warnings
2022-06-30 13:08:33 +00:00
Sebastian Dröge
f30fcbcf9a
pbutils: Fix PbUtilsCapsDescriptionFlags serde (de)serialization tests
2022-06-30 12:42:37 +03:00
Sebastian Dröge
65629426cb
tracer: Add bindings for new pad chain hooks
2022-06-30 08:46:06 +03:00
Sebastian Dröge
07562c592f
video: Add bindings for is_common_aspect_ratio()
2022-06-30 08:46:06 +03:00
Sebastian Dröge
90aaa32957
Regenerate
2022-06-30 08:46:06 +03:00
Sebastian Dröge
fb724aedeb
Update gst-gir-files
2022-06-30 08:46:06 +03:00
Sebastian Dröge
8e9e135128
Update gir-files
2022-06-30 08:46:06 +03:00
Sebastian Dröge
542bb130f4
Update gir
2022-06-30 08:46:06 +03:00
Sebastian Dröge
f333991a5a
ci: Update image
2022-06-30 08:46:06 +03:00
Sebastian Dröge
c61d913ec6
tracer: Add support for the 1.20 "plugin-feature-loaded" hook
2022-06-29 10:13:59 +03:00
Sebastian Dröge
9e77ab3212
tracer: Re-order trait functions slightly for the order to make more sense
2022-06-29 10:13:36 +03:00
Sebastian Dröge
14f485d0b1
bus: Take ownership of the message in post()
2022-06-28 23:36:08 +03:00
Sebastian Dröge
20ac231146
gstreamer: Allow borrowing Segment
s from Value
s without copying
2022-06-27 22:28:49 +03:00
Sebastian Dröge
c9d07219c8
Store whether GStreamer was initialized in an AtomicBool
...
Avoids a function call in the normal case.
2022-06-27 10:28:28 +03:00
Sebastian Dröge
7754b8dd70
allocators: Reduce number of initialization check macros
2022-06-27 10:07:58 +03:00
Sebastian Dröge
310ff531fb
base: Fix memory leak if BaseSrc/PushSrc parent class is not filling the provided buffer as it should
2022-06-24 11:13:06 +03:00
Sebastian Dröge
b28664ccbd
gstreamer: Fix serde serialization tests
...
ron serialization is now writing `1.0` instead of just `1`.
2022-06-24 11:13:06 +03:00
Sebastian Dröge
6b47d646c0
base: Add support for returning buffer lists from BaseSrc/PushSrc subclasses
2022-06-24 11:13:06 +03:00
Sebastian Dröge
5e3ace0ecc
ci: Fix syntax for coverage reports to the new format
2022-06-07 09:04:40 +03:00
Sebastian Dröge
2c373f5d24
examples: Update to memfd 0.6
2022-06-06 11:18:40 +03:00
Sebastian Dröge
50f3eee8eb
play: Mark play_message
module as private
...
The only type that is defined in it is re-exported at the crate root.
2022-05-24 11:02:27 +03:00
Philippe Renon
01b8279bc1
examples: add GstPlay example
2022-05-24 06:55:12 +00:00
Philippe Renon
35aff36c61
Introduce gstreamer-play
2022-05-24 06:55:12 +00:00
Philippe Renon
f35baffb52
Update gst-gir-files
2022-05-24 06:55:12 +00:00
Stephan Seitz
c254c5fd1a
gstreamer: add PadProbeId::as_raw()
...
This allows to convert PadProbeId to numberic values without
taking them by value (like `into_glib`).
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/382#note_1391236
2022-05-23 08:19:47 +00:00
Sebastian Dröge
cb1f08a425
gstreamer: Implement FusedFuture for PromiseFuture
2022-05-22 12:42:42 +03:00
Sebastian Dröge
aaf601831e
gstreamer: Index structures/taglist more safely
...
Accessing after the length will lead to a critical warning and should
not happen.
2022-05-22 12:42:42 +03:00
Sebastian Dröge
d4430ecc6a
Implement more iterator functions / traits in custom iterators for efficiency reasons
2022-05-22 12:42:42 +03:00
Philippe Renon
8f1c94f45d
Regenerate with latest gir
2022-05-20 17:48:40 +02:00
Philippe Renon
5ed8416717
Update gir
2022-05-20 17:48:40 +02:00
Sebastian Dröge
e76ae3f434
gstreamer: Fix a few new clippy warnings
2022-05-20 11:19:07 +03:00
Sebastian Dröge
0055399471
ci: Update to Rust 1.61
2022-05-19 18:10:24 +03:00
Jordan Petridis
7283fe69b2
ci: Build gstreamer-gl on windows
...
This was disabled since DirectX wasn't available, but its working
now on the server2022 image that provides the required headers
and dlls.
2022-05-19 13:26:34 +03:00
Jordan Petridis
9d873d6755
ci: define the dependencies between jobs
...
This means that jobs can start the moment they are ready, instead
of waiting for the previous stage to finish.
Also define their interruptibility so new pipelines can automatically
cancel the previous ones.
https://docs.gitlab.com/ee/ci/yaml/index.html#needs
2022-05-18 22:21:08 +03:00
Jordan Petridis
7075a4b3ea
ptp_clock: fix build on windows
...
c_ulong/gulong can be 32bit or 64bit depending on the platform.
Always cast it to u64 so the compiler will be happy.
2022-05-18 22:20:37 +03:00
Jordan Petridis
4d7bd9bfcb
ci: use rules instead of only/except
...
only/except has got deprecated in favour of rules
maybe it fixes #370 ?
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
d53dfcf94e
ci: use a custom powershell script to run windows tests
...
There are a couple things going on here.
First, we need to avoid building egl/wayalnd/x11 crates on windows
as they can't be built.
Then we need to avoid running -sys tests as they don't succeed
currently. See [1]
Finally use a matrix:parallel job to tests multiple build
configurations.
[1] https://github.com/gtk-rs/gtk3-rs/issues/54
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
5e27da5a1c
ci: add an msvc 2017 test
...
Tests disabled for now, till some quirks are worked out.
Thi should be good enough to at least not break the build though.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 19:51:49 +03:00
Jordan Petridis
842dad3fa5
Cargo.toml: add cross-platform crates to default-members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701 >
2022-05-18 13:12:47 +03:00
Philippe Renon
5d2f36fac3
gstreamer: implement FromGlibPtrBorrow trait for gst::Structure
...
needed for callbacks that pass GstStructure by reference
for example: the PlaySignalAdapter error and warning signals
needed by https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1036
2022-05-17 23:19:35 +02:00
Philippe Renon
268e351dde
examples: fix clippy errors
2022-05-17 21:47:34 +02:00
Thibault Saunier
8c69388eff
utils: Re export AddConsumerError
2022-05-17 20:19:12 +03:00
Guillaume Desmottes
5349822962
utils/streamproducer: add ConsumptionLink
...
Having an explicit link object makes it much easier to build complex
producers/consumers dynamics graphs.
It provides helper to switch producers and prevent accidentally keeping
broken links around as they are disconnected on Drop.
2022-05-17 11:04:35 +03:00
Guillaume Desmottes
f68efd0cab
utils/streamproducer: add API to not forward eos to consumers
...
User may want to plug another producer when one is eos, in such case we
don't want to propagate eos to consumers.
2022-05-17 11:04:35 +03:00
Guillaume Desmottes
351f070c8e
utils/streamproducer: reset callbacks when removing consumer
2022-05-12 14:56:55 +02:00
Sebastian Dröge
98cc289bcc
utils/streamproducer: Add StreamProducer::error()
to signal an error message to all consumers
2022-05-12 10:51:56 +03:00
Sebastian Dröge
e263bd8945
utils/streamproducer: Request keyframes without a lock held and also after an appsrc has dropped some data
2022-05-12 10:44:59 +03:00
Sebastian Dröge
d6095900e9
utils/streamproducer: Improve debug output a bit
2022-05-12 10:37:14 +03:00
Sebastian Dröge
e82d388410
utils/streamproducer: Index hashmap by appsrc instance instead of pointer
...
This behaves the same but requires a little bit less code.
2022-05-12 10:34:11 +03:00
Sebastian Dröge
a51235048d
utils/streamproducer: Add StreamProducer::configure_consumer()
...
This allows configuring an `appsrc` before actually adding it as
consumer at a later time, and can be useful if the pipeline with the
source should be started earlier than adding it to a consumer.
Also use strongly-typed property API for the `appsrc` properties.
2022-05-12 10:34:06 +03:00
Thibault Saunier
f3bba21faa
Introduce StreamProducer
...
Introduce a new `gstreamer-utils` crate where we implement a
`StreamProducer` structure that allows "producing" pipeline (Producers)
pushing their data to 0 or several "consuming" pipelines. The Producer
needs to push their data to an `appsink` which the `StreamProducer` controls
and the "consumer" pipelines need to have an AppSrc which the same
StreamProducer controls.
It allows similare behavior as a `tee` element but with a simpler to
handle addition and removal of "consumers" as well as a total decoupling
of the various consumer, both between each others and the producer
pipeline.
This has simply been extracted from
[webrtcsink](https://github.com/centricular/webrtcsink/blob/main/plugins/src/webrtcsink/utils.rs )
2022-05-11 10:14:54 -04:00
Thibault Saunier
56a46fc6fd
ci: Re-implement the gi-checker in python
...
To cleanup and ignore the gstreamer-utils crate
2022-05-11 10:14:54 -04:00
Sebastian Dröge
081d42ac86
net: Add various static PTP clock API
...
This allows initializing the PTP clock infrastructure, deinitializing
it, checking the current status and adding statistics callbacks.
2022-05-11 14:19:50 +03:00
Jordan Petridis
b62d22852e
ci: cleanup the checkouts in the docker image after install
2022-05-10 10:11:47 +03:00
Sebastian Dröge
45e16f7753
gstreamer: Add #[must_use]
annotation to PadTemplateBuilder
2022-05-08 11:41:54 +03:00
Guillaume Gomez
c1d3ed5eac
Use IntoGlibPtr trait instead of implementing into_ptr
2022-05-07 13:38:11 +02:00
Sebastian Dröge
cd49659fae
gstreamer: Add a PadTemplateBuilder
...
And only allow setting documentation caps via that. It's not actually
allowed to update the documentation caps at random times as it is not
thread-safe.
2022-05-06 16:57:06 +03:00
Sebastian Dröge
0aa59be45c
gstreamer: Improve accessors to various pad template fields
2022-05-06 16:22:40 +03:00
Sebastian Dröge
45856ac35b
gstreamer: Return a glib::List
instead of a Vec
for the pad template list
...
Avoids an unnecessary allocation for the `Vec`.
2022-05-06 12:42:52 +03:00
Vivienne Watermeier
1b22be2e15
Add De/Serialization for most bitflag types
...
Represents combinations of flags with a '+' separated string of nicks,
or an empty string for no flags set.
Note that most flag types will ignore any flags using multiple bits when
serializing, since in most cases these flags cover all used bits.
2022-05-06 09:05:52 +00:00
Vivienne Watermeier
94b5a13f4b
Regenerate with Gir.toml changes
2022-05-06 09:05:52 +00:00
Vivienne Watermeier
fec2718aef
Remove generated serde derives from all bitflags types
2022-05-06 09:05:52 +00:00
Sebastian Dröge
a34bc85ca1
video: Don't change the VideoOverlayComposition
constructor API based on feature flags
...
Feature flags are additive and a higher feature might be enabled by some
other dependency, which then can cause code that assumes the other API
fail to compile.
Still implement the constructor separately per version to make it clear
to the compiler that the constructor can't fail at all in newer
versions.
2022-05-06 11:01:02 +03:00
Mathieu Duponchelle
d83faa044e
rtp_buffer: buffer() does not need to return an Option
...
When a RTP buffer is mapped, its buffer field always holds a
non-null pointer.
2022-05-05 14:36:43 +02:00
Sebastian Dröge
a16c3888e5
Return base class pads by reference instead of strong reference
...
Avoids unnecessary reference counting and the caller can get a strong
reference easily by calling clone().
2022-05-05 14:18:03 +03:00
Mathieu Duponchelle
80b0b378fc
base classes: expose accessors for static pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1023 >
2022-05-04 17:15:07 +02:00
Sebastian Dröge
ba955a22bd
ci: Update image version for including a newer GStreamer build
2022-05-03 15:42:18 +03:00
Sebastian Dröge
b50a7993de
video: Add bindings for VideoFormatInfo::tile_sizes()
2022-05-03 15:41:54 +03:00
Sebastian Dröge
4a28a188d9
Regenerate with latest gir/gir-files
2022-05-03 15:37:25 +03:00
Sebastian Dröge
90ac00a6f6
Update GStreamer gir files
2022-05-03 15:36:05 +03:00
Sebastian Dröge
d3eb9db8ce
Update gir-files
2022-05-03 15:36:00 +03:00
Sebastian Dröge
0f89be2751
Update gir
2022-05-03 15:35:54 +03:00
Sebastian Dröge
2b7a63fc8e
gstreamer: Implement FusedStream
for the Bus
stream
2022-04-30 21:10:59 +03:00
Sebastian Dröge
e04bb8b524
Update CHANGELOG.md for 0.18.8
2022-04-26 14:06:28 +03:00
Mathieu Duponchelle
7fa0b4e84d
rtpbuffer: bind length calculation API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1014 >
2022-04-23 01:12:16 +00:00
Sebastian Dröge
0e0d9f532b
gstreamer: Update to pretty-hex 0.3
2022-04-22 13:57:24 +03:00
Sebastian Dröge
7420a72831
gstreamer: Add error/warning/info message constructors from a pre-existing glib::Error
2022-04-21 15:33:51 +03:00
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
Sebastian Dröge
faa1311fcd
video: Add VideoFormatInfo::has_subtiles()
2022-03-17 11:06:26 +02:00
Sebastian Dröge
fe7850720c
audio: Add new dither-threshold converter configuration
2022-03-17 11:06:26 +02:00
Sebastian Dröge
3080c37897
video: Ignore new navigation event constructors
...
And add doc aliases for the already existing manual implementations of
them.
2022-03-17 11:06:26 +02:00
Sebastian Dröge
1a11fda103
ci: Build crates with v1_22
2022-03-17 11:06:26 +02:00
Sebastian Dröge
12f1483d43
gstreamer: Create plugins with version 1.21 if v1_22 is selected
2022-03-17 11:06:26 +02:00
Sebastian Dröge
54440e47df
Add v1_22 Cargo feature and map to the correct pkg-config version
2022-03-17 11:06:26 +02:00
Sebastian Dröge
2f55ffe419
Update GStreamer gir files
2022-03-17 11:06:26 +02:00
Sebastian Dröge
39e90b603b
Update gir-files
2022-03-15 15:46:30 +02:00
Sebastian Dröge
6f2cd17232
Update gir
2022-03-15 15:46:30 +02:00
Sebastian Dröge
a3b95d60ae
ci: Update to meson 0.61.3, GTK 4.6 branch and rebuild GStreamer
2022-03-15 15:46:11 +02:00
Sebastian Dröge
4b3362039e
Use SPDX license format in Cargo.toml
2022-03-14 10:21:49 +02:00
Christian Meissl
3234a18677
Use new memory type infrastructure in gstreamer-gl
2022-03-12 14:19:40 +00:00
Christian Meissl
389d406e73
Remove usage of _get_type in gstreamer-gl GLMemory
...
see: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764
2022-03-12 14:19:40 +00:00
Christian Meissl
163130cad7
Extend examples to showcase the use of the FdMemoryAllocator
2022-03-12 14:19:40 +00:00
Christian Meissl
a8dc789ef8
Add crates for gstreamer-allocators
2022-03-12 14:19:40 +00:00
Christian Meissl
44d39f8824
Add infrastructure for casting from/to memory subtypes
2022-03-12 14:19:40 +00:00
Christian Meissl
240da14042
Drop extraneous extra_versions that already fall under min_cfg_version
2022-03-12 14:19:40 +00:00
Sebastian Dröge
beb3ad2010
Update CHANGELOG.md for 0.18.6
2022-03-08 19:24:10 +02:00
Sebastian Dröge
b69043d462
gstreamer: Require Send
and not Sync
for the values of an Array
/ List
...
`Sync` is more than required here: only sending of the values to another
thread is required.
2022-03-08 14:46:13 +02:00
Sebastian Dröge
1f7a0f29d9
gstreamer: Update for optional glib::Value
type refactoring
2022-03-07 13:20:08 +02: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
319f1c68a5
gstreamer: Simplify and speed up log message string construction
...
For pre-1.20 simply use `%s` as format string instead of escaping the
`%` inline while writing. This allows a simpler implementation and is
also faster, see https://github.com/gtk-rs/gtk-rs-core/pull/583 .
2022-02-26 13:33:00 +02:00
Sebastian Dröge
ab04715dc7
ci: Update to Rust 1.59
2022-02-24 19:41:19 +02:00
Sebastian Dröge
bf660cf22a
Update minimum supported Rust version to 1.57
2022-02-22 00:00:39 +02:00
Sebastian Dröge
fc1185b951
gstreamer: Add builders for the fraction/array paramspecs
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
ad1c2d83a4
Revert "rtsp-server: Add bindings for Onvif-specific client/media/media-factory/server"
...
This reverts commit bdac7cb99c
.
This was applied twice.
2022-02-20 20:55:15 +02:00
Sebastian Dröge
40be06d5f6
Update CHANGELOG.md for 0.18.5
2022-02-20 20:27:56 +02:00
Sebastian Dröge
bdac7cb99c
rtsp-server: Add bindings for Onvif-specific client/media/media-factory/server
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/373
2022-02-18 17:00:02 +02:00
Sebastian Dröge
b451f692cf
rtsp-server: Add subclassing support for Onvif-specific client/media/media-factory/server
2022-02-18 14:00:52 +02:00
Sebastian Dröge
586fc75ffc
rtsp-server: Add bindings for Onvif-specific client/media/media-factory/server
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/373
2022-02-18 14:00:52 +02:00
Marijn Suijten
462e19dee9
gstreamer/plugin_1_14: Use minor version 20 instead of 19 for v1_20
...
Now that gstreamer 1.20 is out all v1_20 plugins will be linked against
the 1.20 stable release, not the unstable 1.19 development release.
2022-02-18 11:33:17 +01:00
Marijn Suijten
2426d7ce8c
Revert "sys: Link all v1_20 sys crates against library 1.19" - use 1.20
...
This reverts commit 8226c94110
.
Now that GStreamer 1.20 is out, the v1_20 feature can and should link
directly to the stable release instead of the unstable 1.19 development
release.
2022-02-18 11:30:08 +01:00
Marijn Suijten
7ad71949d7
gstreamer/sys: Move v1_18_3 system-deps metadata above v1_20
...
Keep the versions sorted numerically.
2022-02-18 11:30:00 +01:00
Sebastian Dröge
d68c359db5
gstreamer: Fix downcast_ref()
/ downcast_mut()
impls on MiniObjectRef
...
They have to return the `Ref` type and not the owned type.
2022-02-16 12:13:19 +02:00
Sebastian Dröge
a1fed48e8c
gstreamer: Add Debug
impl for MiniObject
/ MiniObjectRef
2022-02-16 12:13:03 +02:00
Sebastian Dröge
d1f978f9f1
gstreamer: Improve StreamsSelectedBuilder::streams()
...
It's much easier to use if it takes any kind of iterator instead of a
slice of references.
2022-02-14 13:44:19 +02:00
Sebastian Dröge
98e12e835a
examples: Update to image 0.24
2022-02-09 13:15:13 +02:00
Christian Meissl
033dac2270
support for subclassing buffer pool
2022-02-08 15:59:55 +01:00
Sebastian Dröge
0173b73170
Handle empty slices correctly
...
Passing `NULL` to `slice::from_raw_parts` is invalid.
2022-02-07 12:50:37 +02:00
Sebastian Dröge
ddd4e3a79a
Update README.md for 0.18.4
2022-02-04 18:44:51 +02:00
Christian Meissl
8ae97b8c64
fix readme doc links
2022-02-04 14:22:17 +01:00
Sebastian Dröge
47ae1c8658
Regenerate with latest gir files
2022-02-04 12:35:01 +02:00
Sebastian Dröge
899703fb8e
Update GStreamer gir files
2022-02-04 12:33:29 +02:00
Sebastian Dröge
2176e17add
Update gir-files
2022-02-04 12:30:15 +02:00
Sebastian Dröge
70e95d4576
ci: Update to get GStreamer 1.20.0 release
2022-02-04 12:24:09 +02:00
Sebastian Dröge
4956346b23
video: Allow getting an owned reference to the input buffer from a video codec frame
2022-02-02 00:54:06 +02:00
Sebastian Dröge
74557132e1
deny: Remove heck
override as all dependencies are up to date now
2022-01-31 15:06:31 +02:00
Sebastian Dröge
7d1e7478ac
Update CHANGELOG.md for 0.18.3
2022-01-31 15:01:41 +02:00
Sebastian Dröge
23565c8723
ci: Update GStreamer version
2022-01-29 18:18:13 +02:00
Sebastian Dröge
deced8b3b8
Regenerate with latest GStreamer gir files
2022-01-29 18:17:26 +02:00
Sebastian Dröge
cb5edb1e5b
webrtc: Generate WebRTCError
type
2022-01-29 18:17:26 +02:00
Sebastian Dröge
fb49d26b11
Update gst-gir-files
2022-01-29 18:17:26 +02:00
Sebastian Dröge
0dc1ee439f
rtp: Add subclass bindings for RTPHeaderExtension
2022-01-27 15:32:44 +02:00
Sebastian Dröge
0403fd9aa4
rtp: Re-export standalone functions from crate root
2022-01-27 14:33:46 +02:00
Sebastian Dröge
7ccab6cc8b
rtp: Add gst::Element
as parent class for RTPHeaderExtension
2022-01-27 14:33:21 +02:00
Sebastian Dröge
60cd874db7
video: Add VideoOverlayComposition::add_rectangle()
to add new rectangles after construction
...
Usually it is more convenient to provide them all via an iterator during
construction but in some cases this might be nicer.
2022-01-26 13:04:08 +02:00
Sebastian Dröge
52e09fd83d
video: Implement Default
for VideoOverlayComposition
in 1.20
2022-01-26 13:04:08 +02:00
Sebastian Dröge
a734f38ee6
ci: Update image to get newer GStreamer build
2022-01-25 13:20:58 +02:00
Sebastian Dröge
26f2ed30ae
Regenerate with latest gst-gir-files
2022-01-25 13:10:58 +02:00
Sebastian Dröge
15763a941b
Update gst-gir-files
2022-01-25 13:10:35 +02:00
Sebastian Dröge
06cf5de45f
Get rid of fragile dependency and use GLib API instead
2022-01-24 19:33:15 +02:00
Sebastian Dröge
13eb483444
Regenerate everything with latest gir
2022-01-24 19:29:18 +02:00
Sebastian Dröge
03ad59f006
Update gir
2022-01-24 19:27:56 +02:00
Sebastian Dröge
bb94064e11
Update CHANGELOG.md for 0.18.2
2022-01-24 16:47:36 +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
eecce101da
gstreamer: Implement FromValue
for mini object references
2022-01-24 13:13:24 +00:00
Sebastian Dröge
b66a00ed07
gstreamer: Minor cleanup
2022-01-24 14:48:36 +02:00
Sebastian Dröge
ab0eb8a1a4
gstreamer: Add bindings for gst_debug_log_get_line()
2022-01-24 14:48:21 +02:00
Sebastian Dröge
5e2249d368
message/query/event: Implement views in a more consistent way
...
Co-authored-by: Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
2022-01-19 13:29:59 +02:00
Sebastian Dröge
65c833bc80
Update CHANGELOG.md for 0.18.1
2022-01-18 16:54:57 +02:00
Sebastian Dröge
68d492bb33
gstreamer: Mark Structure
and CapsFeatures
as #[repr(transparent)]
too
2022-01-17 19:42:20 +00:00
Jan Alexander Steffens (heftig)
fb56bbda6e
gstreamer: Split parsers for owned and borrowed views
...
When we have a view like `Caps<&EventRef>`, we can return a `CapsRef`
borrowing from the wrapped `EventRef`. This way, the `CapsRef` we return
can outlive the view itself.
This is in contrast to a `Caps<Event>` view which owns the `Event`.
Here, the `CapsRef` we return cannot outlive the view.
gstreamer-rs 0.18 consolidated code and treated everything like the
latter case. Fix this by duplicating the accessors for each case.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/367
2022-01-17 19:13:47 +00:00
Sebastian Dröge
ee9157a239
video: Mark VideoTimeCode
as #[repr(transparent)]
2022-01-17 18:04:40 +00:00
Sebastian Dröge
8f5e373882
gstreamer: Mark miniobject wrapper types as #[repr(transparent)]
...
That way they're treated everywhere exactly like a raw pointer.
2022-01-17 18:04:40 +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
971f35754c
Change default branch from master to main
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/364
2022-01-16 16:15:48 +02:00
Sebastian Dröge
8b09a84bf1
Update CHANGELOG.md for 0.18.0
2022-01-16 13:36:18 +02:00
Sebastian Dröge
22a86a66b4
Update CHANGELOG.md for 0.17.4
2022-01-16 12:17:18 +02:00
Sebastian Dröge
5a9b103f93
docs: Add 0.18 release
2022-01-15 21:40:51 +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
2bb500db0b
pbutils: Add bindings for codec-utils functions
2022-01-14 17:16:00 +02:00
Sebastian Dröge
5151b76729
gstreamer-gl: Add missing Gir.toml checks
2022-01-14 16:59:48 +02:00
Sebastian Dröge
711a4bb76e
gstreamer: Silence a new clippy warning in the tests
2022-01-14 12:58:26 +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
847e800269
ci: Update to meson 0.60.3
2022-01-13 23:13:32 +02:00
Sebastian Dröge
cf50295b73
ci: Update to Rust 1.58
2022-01-13 23:13:32 +02:00
Jordan Petridis
07f2c46e0e
gstreamer-gl: generate constants and functions
2022-01-13 19:49:18 +02:00
Sebastian Dröge
9eb479cf78
Regenerate everything
2022-01-12 15:40:36 +02:00
Sebastian Dröge
e35d26fcd3
Update gir, gir-files and gst-gir-files
2022-01-12 15:31:28 +02:00
Jordan Petridis
d245056e7b
ci: add gtk4 to the image
...
This is a prerequisite to porting the examples to gtk4
2022-01-11 18:26:34 +02:00
Jordan Petridis
a3875eab94
gstreamer-gl: Generate GLBufferPool
2022-01-11 15:08:47 +00:00
Jordan Petridis
45708832dd
gstreamer_gl: fix typos
2022-01-11 14:16:20 +00:00
Sebastian Dröge
843d3749b7
caps: Add bindings for foreach()
, map_in_place() and
filter_map_in_place()`
2022-01-11 13:37:40 +00:00
Sebastian Dröge
1b46bca2db
structure: Add bindings for foreach()
, map_in_place() and
filter_map_in_place()`
2022-01-11 13:37:40 +00:00
Sebastian Dröge
6d63180bfc
Update for glib::Quark API changes
2022-01-11 12:50:13 +02:00
Guillaume Gomez
ac9b1e881c
Add missing #[must_use] attribute for clippy
2022-01-04 19:43:07 +01:00
Guillaume Gomez
27dd305cb4
Regen to get #[must_use] attributes generated
2022-01-04 19:02:58 +01:00
Guillaume Gomez
0f6d1cbe31
Update gir submodule
2022-01-04 19:02:10 +01:00
Thibault Saunier
1dae136ae3
navigation: Add a method to get the GstStructure from NavigationEvent
...
The `GstNavigationInterface` requires to pass a GstStructure to it
`send_event()` method, so it makes sense to allow getting that structure
without building the navigation event itself
2021-12-29 16:15:57 +00:00
Sebastian Dröge
bbcd221e8d
Change from impl_() to imp()
2021-12-28 17:50:06 +02:00
Thibault Saunier
fc452036d2
navigation: Add support for event creation and simplify the API
...
And also allow implement serialization with serde (behind a feature) to
allow sending navigation event through the network (for example from a
browser with a WebRTC data channel).
2021-12-24 14:19:08 -03:00
Thibault Saunier
56dfe0fe59
video: Add GstNavigation interface "subclassing" support
2021-12-24 14:18:52 -03:00
Sebastian Dröge
74e70eb580
deny: Update
2021-12-18 10:05:44 +02:00
Sebastian Dröge
1e18c59d2a
Implement glib::ValueTypeOptional for various types
2021-12-16 17:40:39 +00:00
Tomasz Andrzejak
e448a762ca
gstreamer-rtp: Add payload_mut function to RTPBuffer
2021-12-15 21:06:45 +00:00
Luca BRUNO
c30eff771a
Regenerate with latest gir (gboolean return codes)
2021-12-14 11:43:30 +00:00
Luca BRUNO
4215c6fab5
gitmodules/gir: update to latest
2021-12-14 11:43:28 +00:00
Paolo Borelli
97f59d34fa
Add the has_name() fn to EventRef, MessageRef and StructureRef
...
They are handy and they match the C api
2021-12-14 09:59:39 +01:00
Sebastian Dröge
9bf5f641ff
Regenerate with latest gir
2021-12-12 17:54:20 +02:00
Sebastian Dröge
0526471689
Update gir
2021-12-12 17:53:05 +02:00
Sebastian Dröge
1541fbf32a
gstreamer: Add many new doc aliases for C function
2021-12-12 17:52:32 +02:00
Luca BRUNO
d1cc8d1298
Regenerate with latest gir (assert safe gerror)
2021-12-07 12:07:45 +00:00
Luca BRUNO
d9a88b7cb7
gitmodules/gir: update to latest
...
This refreshes the submodule, i.e. `git submodule update --remote --init gir`.
2021-12-07 12:07:43 +00:00
Sebastian Dröge
5a75f3bf8e
Don't post error messages in subclasses on propose/decide_allocation() errors and BaseParse::set_sink_caps()
...
Instead just log the error and return false.
2021-12-06 18:41:39 +02:00
Sebastian Dröge
ee1a5e8395
Add #[must_use] attribute to many builders
2021-12-04 10:26:08 +02:00
Sebastian Dröge
8f3ed6d289
Add checks for the Gir.tomls
...
... and fix all the failures.
2021-12-03 20:27:50 +00:00
Santiago Carot-Nemesio
668a9bbf58
rtp_buffer: Add methods to manipulate padding
...
Open Rust APIs for:
* gst_rtp_buffer_get_padding
* gst_rtp_buffer_set_padding
2021-12-03 11:53:17 +01:00
Sebastian Dröge
33f75191d5
examples: Update to glutin 0.28
2021-12-03 10:21:10 +02:00
Sebastian Dröge
f6dc14b946
Add a few missing docs aliases for constants
2021-12-03 10:19:22 +02:00
Sebastian Dröge
7cc1523e7d
Fix a couple of new clippy warnings
2021-12-02 22:39:57 +02:00
Sebastian Dröge
7d968d78bb
Silence false needless_option_as_deref
clippy warnings
...
See https://github.com/rust-lang/rust-clippy/issues/8047
2021-12-02 17:52:23 +02:00
Sebastian Dröge
badec2252c
ci: Update to Rust 1.57
2021-12-02 17:51:19 +02:00
Mathieu Duponchelle
8e6c08f8fd
gstreamer/value_serde: fix nested structures
...
When serializing a structure, if it contains a nested structure
the serialization / deserialization code goes through value_serde,
which was lacking support for Structure.
2021-12-01 17:41:48 +00:00
Sebastian Dröge
c965217e54
gstreamer: bufferlist: Implement buffer foreach functions around ControlFlow
enum
...
This makes it clearer than a plain `bool` or `Result<Option<Buffer>, Option<Buffer>>`.
Also pass a `&Buffer` instead of a `&BufferRef` to the immutable foreach
function to allow taking references of the buffer outside the scope of
the closure by cloning instead of requiring a full copy.
2021-12-01 14:16:33 +02:00
Sebastian Dröge
15fbb17a09
gstreamer: buffer: Implement meta foreach functions around ControlFlow
enum
...
This makes it clearer than a plain `bool` or `Result<bool, bool>`.
2021-12-01 14:02:50 +02:00
Tim-Philipp Müller
e0e17b8b25
gstreamer: pad: use ControlFlow with custom enum for sticky_events_foreach() return value
...
... instead of Result<Option<Event>,Option<Event>> which isn't very nice.
And use static dispatch instead of dynamic dispatch.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/361
2021-12-01 14:02:50 +02:00
Piotrek Brzeziński
1d78ac9323
examples: Update playback-tutorial-6 with new getters
2021-11-28 21:00:05 +01:00
Piotrek Brzeziński
abd2d4dfd7
gstreamer: Add getters for ElementFactory/DeviceProviderFactory metadata
2021-11-28 21:00:05 +01:00
Piotrek Brzeziński
31b78f483e
examples/tutorials: Add missing playback tutorials
2021-11-25 00:13:19 +01:00
Jimmi Holst Christensen
14dadf4c62
aggregator: Implement set_position
2021-11-24 13:21:23 +01: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
Bilal Elmoussaoui
86b07ce5b9
regen per emit_by_name changes
2021-11-21 09:35:36 +01:00
Sebastian Dröge
668b2b3fdf
gstreamer: Use glib::List
in various places for reducing allocations when working with factory lists
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/359
2021-11-20 14:44:49 +02:00
Sebastian Dröge
9263c9f42e
gstreamer: Correctly rename ParamSpecArray
constructor
2021-11-20 13:47:18 +02:00
Sebastian Dröge
21d38e41d6
gstreamer: Rename DateTime
constructors to replace the new_
prefix with from_
2021-11-20 12:20:25 +02:00
Sebastian Dröge
3b28bccf03
Update for GLib constructor renames
...
See https://github.com/gtk-rs/gtk-rs-core/pull/384
2021-11-20 12:20:17 +02:00
Sebastian Dröge
ddf398e3da
gstreamer: Add various missing doc aliases to event/message/query functions
...
This is going to make it easier to find them from the corresponding C
function names.
2021-11-19 10:38:46 +00:00
Sebastian Dröge
2471150e72
gstreamer: Add bindings for StreamCollection::stream-notify
signal
2021-11-19 10:57:54 +02:00
Sebastian Dröge
63f6d6a7d3
gstreamer: Make child proxy property API more consistent with the object property API
...
And especially check various conditions for the property and the value.
Also add `ChildProxy::lookup()`.
2021-11-19 10:54:52 +02:00
Sebastian Dröge
7c1ed9ff4d
Regenerate with latest gir
...
Updates to use system-deps 6
2021-11-18 16:32:17 +02:00
Sebastian Dröge
f3647adfbc
Update gir
2021-11-18 16:31:19 +02:00
Bilal Elmoussaoui
8faaf8a629
rename ffi crates on Cargo.toml
2021-11-17 12:00:06 +01:00
Bilal Elmoussaoui
e61b83f592
regenerate with not renamed libs on ffi crates
2021-11-17 12:00:06 +01:00
Sebastian Dröge
04a87085f6
ci: Update image to get new and fixed cargo-outdated 0.10.1 version
...
The previous version had some problems with acquiring the package cache.
2021-11-17 09:56:20 +02:00
Sebastian Dröge
279f1a404b
gstreamer: Use glib::SList
instead of our own version of it for listing all debug categories
2021-11-16 20:18:31 +02:00
Sebastian Dröge
e68790d579
gstreamer: Directly format into a NUL
-terminated C string for debug log messages
...
And also replace `%` with `%%` for < 1.20 inline, and for >= 1.20 use
the new `gst_debug_log_literal()` function that doesn't require this and
also reduces string allocations further.
2021-11-16 20:18:31 +02:00
Sebastian Dröge
e74f54a64f
Regenerate with latest gst-gir-files
2021-11-16 20:18:31 +02:00
Sebastian Dröge
38078c71f8
Update gst-gir-files
2021-11-16 20:18:31 +02:00
Sebastian Dröge
41b1263061
ci: Update image to get newer GStreamer
2021-11-16 20:18:31 +02:00
Bilal Elmoussaoui
3288992f95
don't re-export empty traits in prelude
...
As those were dropped by a recent gir change
2021-11-16 15:47:44 +01:00
Bilal Elmoussaoui
0d391d5031
regenerate with latest gir
2021-11-16 15:47:44 +01:00
Sebastian Dröge
6527ffbce0
video: Rename videometa flags getter to video_frame_flags()
to distinguish it from the meta flags
2021-11-16 13:18:25 +02:00
Sebastian Dröge
a2e22416fe
gstreamer: Don't try removing locked metas from buffers
...
And return success from the `remove()` function.
2021-11-16 13:08:23 +02:00
Sebastian Dröge
df36a7c57a
gstreamer: Add gst::MetaFlags
and accessor on meta
2021-11-16 13:05:47 +02:00
Sebastian Dröge
1eba9b64e5
video: Add bindings for ColorBalance
/ ColorBalanceChannel
2021-11-15 20:38:06 +00:00
Sebastian Dröge
0b544ffbd3
Simplify glib::IsImplementable
trait implementations
2021-11-15 11:48:14 +02:00
Sebastian Dröge
dd9e12822f
Regenerate with latest gir
2021-11-13 11:05:09 +02:00
Sebastian Dröge
eda7cebb42
Update gir
2021-11-13 11:04:17 +02:00
Sebastian Dröge
c6c499aed2
gstreamer: Update test for glib::EnumClass API changes
2021-11-13 11:03:52 +02:00
Bilal Elmoussaoui
d788a10856
re-generate with per crate min version
2021-11-11 12:26:29 +01:00
Guillaume Desmottes
eb1c62612e
appsrc: bind gst_base_src_set_automatic_eos()
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1330 for context.
2021-11-10 12:17:47 +01:00
Guillaume Desmottes
3cf2104726
switch back to official cargo-outdated
...
Latest release supports Rust 2021.
2021-11-10 07:42:48 +01:00
Sebastian Dröge
f27a2bddd6
gstreamer: Add bindings for DebugCategory::all() to list all available debug categories
2021-11-09 09:58:22 +00: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
0444660d1f
gstreamer: Don't use a trait object for the property value in ChildProxy::set_child_property()
...
This makes it nicer to use as `1` can be passed directly instead of `&1`.
2021-11-06 09:36:38 +02: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
a3015ab507
gstreamer: Refactor gst::IntRange constructors to not require specifying the contained type necessarily
2021-11-06 00:23:07 +02:00
Sebastian Dröge
9901f0c6a2
gstreamer: Refactor gst::Array / gst::List bindings to work correctly with the refactored traits in glib
...
Also allow only a single type inside them.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/360
2021-11-06 00:23:07 +02:00
Sebastian Dröge
30bb699cbc
gstreamer: Use plain &str for parameters instead of Into<&str>
...
The latter doesn't really have any advantage and only bloats the API.
2021-11-05 17:37:41 +02:00
François Laignel
82b7239379
regen: NONE as associated consts
2021-11-04 18:42:06 +01:00
François Laignel
3780dc7667
update gir: NONE as associated consts
2021-11-04 18:40:24 +01:00
Sebastian Dröge
c942a1d563
gstreamer: Implement Element::request_pad_simple()
only once
...
With < 1.20 it will use `gst_element_get_request_pad()` and otherwise
`gst_element_request_pad_simple()`. It's not marked as deprecated in
either case.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/358
2021-11-04 15:44:35 +02:00
Sebastian Dröge
b4282c9444
ci: Update cargo-outdated to a branch with Rust edition 2021 support
2021-11-04 13:40:16 +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
082d109f27
pbutils: Implement DiscovererContainerInfo::tags() manually
...
Unclear why it's not generated.
2021-10-31 12:43:49 +02:00
Sebastian Dröge
d785bf8c3a
Regenerate with latest gir
2021-10-31 11:47:34 +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
0a5100ca9b
Update GStreamer gir files
2021-10-31 11:46:50 +02:00
Sebastian Dröge
b2746c6c29
Update gir
2021-10-30 10:32:05 +03:00
Sebastian Dröge
b43d785d83
Move README.md to the repo root and link it from inside the gstreamer subdirectory
2021-10-27 00:01:00 +03:00
Sebastian Dröge
e657e676d5
Relax main context checks in Bus::add_local()
and gst_video::convert_sample_async_local()
2021-10-25 09:54:33 +00:00
Sebastian Dröge
42feed5441
examples: Remove unnecessary MainContext::push_thread_default()
2021-10-25 09:54:33 +00:00
Sebastian Dröge
c2e43f86a5
gstreamer: Update to option-operations 0.4
2021-10-25 09:51:14 +03:00
Sebastian Dröge
502a0080f0
pbutils/encoding_profile: Fix up initialization assertion macros
2021-10-24 20:52:23 +03:00
Sebastian Dröge
18c7c6a3a6
pbutils/encoding_profile: Silence various missing doc alias warnings
...
They're all wrong because they're on private functions. The public
functions all have the correct doc aliases already.
2021-10-24 20:52:23 +03:00
Sebastian Dröge
fa72d53437
pbutils/encoding_profile: Remove unnecessary lifetime annotations
2021-10-24 20:52:23 +03: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
984ab87c79
pbutils/encoding_profile: Require passing the format caps to the builders and make construction infallible
...
There's no way it can fail if a format is provided and we don't pass
random pointers around.
2021-10-24 18:39:55 +03:00
Sebastian Dröge
06916b23c7
pbutils/encoding_profile: Make the profile builder new()
functions private and use the builder()
functions on the main types
...
Also don't re-export the builder types at the crate root.
Fewer types to juggle in application code.
2021-10-24 18:29:03 +03:00
Sebastian Dröge
9e1fb4570f
pbutils/encoding_profile: Move doc aliases to the correct function definitions/declarations
...
And also add `::builder()` functions on the audio/video/container
encoding profile types.
2021-10-24 18:23:45 +03:00
Sebastian Dröge
e95a75fdab
pbutils/encoding_profile: Add support for 1.18 single-segment API
2021-10-24 18:15:53 +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
12fec484c7
Simplify IsSubclassable trait impls
2021-10-23 11:27:46 +03:00
Sebastian Dröge
cc76442601
gstreamer: Update ron dev-dependency to 0.7
2021-10-23 10:40:24 +03:00
Sebastian Dröge
4579fb006b
ci: Update to Rust 1.56 and meson 0.59.2
2021-10-22 22:04:45 +03:00
Guillaume Desmottes
fc49a0cfd8
ci: build some plugins
...
I'll need those for the tests of a new element I'm writting for
gst-plugins-rs.
2021-10-22 09:38:44 +02:00
Sebastian Dröge
18e45dd991
gstreamer: Add FromIterator/Extend impls based on owned Strings and glib::Quark
2021-10-20 14:28:14 +03:00
Sebastian Dröge
a7be9ea9d9
gstreamer: Implement Extend trait for buffer, buffer list, caps, caps features and structure
...
And also implement FromIterator<Memory> for buffer.
2021-10-20 13:53:23 +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
e6b78d1489
gstreamer: Have Structure::from_iter() take owned values
...
They were copied internally, which can be avoided in many cases if
working with owned values anyway.
2021-10-18 16:36:15 +03:00
François Laignel
f315d3a052
Use published option-operations
2021-10-18 14:30:59 +02:00
François Laignel
4bbd201377
Impl Option*{Div,Mul,Rem}
...
Use the inner type for Rhs, as implemented for Duration.
These operations make sense without providing a "unit".
2021-10-18 14:30:59 +02:00
François Laignel
f83b385487
tutorial: take advantage of Div impl on Percent
2021-10-18 14:30:59 +02:00
François Laignel
deb22b264e
format, clock_time: gather macros together
...
The modules format and clock_time share common macros which are
scattered between each modules. This cross reference makes it
difficult to maintain the macros.
This commit also make it possible to use macro
impl_common_ops_for_newtype_uint for Percent.
2021-10-18 14:30:59 +02:00
François Laignel
986a136492
clock_time & format: basic opt-ops impl
...
The option-operations crate provides traits to improve usability
when dealing with `Option`s, which is often the case with
`ClockTime` & most formats.
2021-10-18 14:30:59 +02:00
François Laignel
051df59cd1
clock_time, format: fix checked, saturating, wrapping ops
...
These operations were implemented using the integer implementations.
These types' MAX values are different from the integers so they must
use specific implementations.
Also add the overflowing variants.
2021-10-18 14:30:59 +02:00
Guillaume Desmottes
675fe349a7
gstreamer: implement Sum on ClockTime
...
Small convenient helper.
2021-10-18 08:05:56 +02:00
Sebastian Dröge
67af5ac569
gstreamer: Add support for 1.18 instant rate request message
2021-10-17 14:39:38 +03:00
Sebastian Dröge
cdddf48f08
gstreamer: Correctly mark various messages as new in 1.10/1.16
2021-10-17 14:33:34 +03:00
Sebastian Dröge
6e3878c8f5
gstreamer: Add bindings for 1.18 instant-rate-change related events
2021-10-17 14:27:44 +03:00
Sebastian Dröge
8b77bd4068
gstreamer: Mark select-streams / stream-collection as only available in 1.10
2021-10-17 14:11:56 +03:00
Sebastian Dröge
d01ed466d0
gstreamer: Use #[non_exhaustive] annotation instead of a dummy enum variant
2021-10-17 14:04:18 +03:00
Sebastian Dröge
aab0a45cfc
gstreamer: Implement pad sticky event getter by type
...
This allows the caller to directly use the specific event type API on
the result instead of first having to match on it first.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/314
2021-10-17 14:04:18 +03:00
Sebastian Dröge
87e7a84a27
gstreamer: Remove one unnecessary use of unsafe in query code
2021-10-17 12:38:59 +03:00
Sebastian Dröge
3d39faac28
video: Implement non-fallible constructor and FromIterator for VideoOverlayComposition when building for 1.20
...
Previous versions needed at least one rectangle for successfull
construction.
2021-10-17 12:33:29 +03:00
Sebastian Dröge
7037f6d836
video: Rename VideoOverlayComposition iterator struct
2021-10-17 11:24:33 +03:00
Sebastian Dröge
e989899467
gstreamer: Remove FromIterator impls on references
...
Creating copies silently while calling collect() is unexpected and can
explicitly added to the iterator via map() if needed.
2021-10-17 11:21:31 +03:00
Sebastian Dröge
3670076f07
gstreamer: Implement IntoIterator / FromIterator for Buffer, BufferList, Caps, CapsFeatures, StreamCollection and Structure
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/285
2021-10-16 23:24:08 +03:00
Sebastian Dröge
219616ced0
video: Implement iterator for VideoOverlayComposition
2021-10-16 21:07:13 +03:00
Sebastian Dröge
dc7e705f44
base: decide_query in Aggregator/BaseTransform propose_allocation() is nullable
2021-10-16 15:36:20 +03:00
Sebastian Dröge
f6cf6c8863
Improve subclass decide_allocation() / propose_allocation() API
...
The queries passed in are always allocation queries, so don't require
implementors to match on that first.
2021-10-16 14:24:08 +03:00
Sebastian Dröge
7e71c74505
base: Add support for propose_allocation()/decide_allocation() in the base classes
2021-10-16 14:24:08 +03:00
Philippe Normand
b9cd38b796
gstreamer: query: Tidy up allocation pool API
...
Use `impl IsA<BufferPool>` and make the `set_nth_` and
`remove_nth_` methods check the index bounds.
2021-10-12 17:16:21 +01:00
Philippe Normand
6d88e18772
gstreamer: Add bindings for querying allocation params
...
This can be used to query downstream for custom allocators.
2021-10-12 17:16:21 +01:00
Sebastian Dröge
8fb37c5134
gstreamer: Implement Deref<Target=[glib::SendValue]> for List and Array
2021-10-12 11:24:54 +03:00
Sebastian Dröge
37c3d2d8e0
Update for glib::source_remove() removal
2021-10-12 09:30:10 +03:00
Sebastian Dröge
d7fe610767
rtp: Fix mutability of caps in RtpHeaderExtension API
2021-10-08 19:57:14 +03:00
Sebastian Dröge
6e6f5108a9
video: Add VideoDecoderImpl::handle_missing_data()
2021-10-08 19:51:52 +03:00
Sebastian Dröge
1c7b4516f9
Regenerate everything with latest GStreamer gir files
2021-10-08 19:44:38 +03:00
Sebastian Dröge
71e58bfec2
Add some newly added API
2021-10-08 19:43:47 +03:00
Sebastian Dröge
72b373c454
Update GStreamer gir files
2021-10-08 19:42:33 +03:00
Guillaume Desmottes
650787ee7c
mpegts-sys: mark a couple of structs as >= gst 1.20
...
Their ABI have changed.
2021-10-07 15:36:40 +02:00
Guillaume Desmottes
da61c19b69
ci: install gst from mono repo
2021-10-07 15:33:19 +02:00
Sanchayan Maity
b13f2060dc
Update prepare_output_buffer's type signature
...
Update prepare_output_buffer's type signature to correctly reflect
whether it gets to work with a writable or readable buffer.
2021-10-07 12:38:07 +05:30
Sebastian Dröge
757530bd8a
ges: Bind a lot of missing API
2021-09-28 18:33:15 +03:00
Sebastian Dröge
c4cbcecc7c
Regenerate everything
2021-09-28 18:11:20 +03:00
Sebastian Dröge
e8d25438e7
Update gst-gir-files
2021-09-28 18:09:01 +03:00
Sebastian Dröge
8f51cbc899
Update gir
2021-09-28 18:08:54 +03:00
Marijn Suijten
eb6939f8b7
Clean up object version overrides
2021-09-28 15:46:39 +03:00
Sebastian Dröge
baccf52e43
Regenerate with latest gir
2021-09-28 15:46:37 +03:00
Sebastian Dröge
931e35cdf9
Update gir
2021-09-28 15:13:48 +03:00
Sebastian Dröge
f5f5fae815
Regenerate with latest gir and gtk-rs gir-files
2021-09-28 12:55:58 +03:00
Sebastian Dröge
d0902f19a8
Update gir
2021-09-28 12:54:49 +03:00
Sebastian Dröge
513fb4cdc3
Update gtk-rs gir-files
...
Should reduce download sizes a bit.
2021-09-28 12:31:55 +03:00
Sebastian Dröge
e5977c2d20
video: Use nested [[f32; 4]; 4] slices for the affine transformation meta instead of [f32; 16]
2021-09-25 15:16:53 +03:00
Sebastian Dröge
4e235b0492
video: Add support for static HDR metadata
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/270
2021-09-25 14:49:33 +03:00
Sebastian Dröge
c2a2549b66
video: Automatically derive Copy/Clone for more structs
2021-09-25 14:32:43 +03:00
Jan Alexander Steffens (heftig)
c05d2e24af
gstreamer/clock_time: Format Debug like Display
...
This allows us to drop `.to_string()` from the custom Debug
implementations, which now also no longer print as strings.
2021-09-23 02:19:41 +02:00
Sebastian Dröge
14edcf9aaf
Regenerate with latest gir
2021-09-22 12:02:53 +03:00
Sebastian Dröge
bcddcc2c88
Update gir
2021-09-22 12:01:30 +03:00
Marijn Suijten
226419003d
Use impl
for some Into*
trait bounds
2021-09-21 23:54:11 +02:00
Marijn Suijten
669bf52291
Use impl
for AsRef
trait bounds
2021-09-21 23:54:07 +02:00
Marijn Suijten
0e435578b7
player: Allow needless_borrow in auto
module
2021-09-21 10:27:09 +02:00
Marijn Suijten
64ec364259
examples/player: set_uri now allows None to be passed in
2021-09-21 09:58:07 +02:00
Marijn Suijten
13165938ab
Regen
2021-09-20 20:38:25 +02:00
Marijn Suijten
0fee9489a5
player/gir: Trust annotation nullability and remove all overrides
2021-09-20 20:35:35 +02:00
Marijn Suijten
e2a9f83f5b
gir: Update and regenerate with impl Trait
instead of named types
...
https://github.com/gtk-rs/gir/pull/1153
2021-09-20 20:19:04 +02:00
Sebastian Dröge
c66287843f
gstreamer-base: Allow filling a passed in buffer in PushSrc::create()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/277
2021-09-19 13:59:05 +00:00
Sebastian Dröge
a1c4a58180
Bind various new API
2021-09-19 13:12:58 +00:00
Sebastian Dröge
4b8f85c4c6
Regenerate with new gir and gir files
2021-09-19 13:12:58 +00:00
Sebastian Dröge
1856d47a06
gstreamer: Add bindings to MiniObject together with casting functionality
...
This is only possible with 1.20 because gst_mini_object_get_type() was
added then. Previous versions only provide bindings for the specific
types, like Caps, Event, etc.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/353
2021-09-19 13:12:58 +00:00
Sebastian Dröge
672b7abe1d
Update gir
2021-09-19 13:12:58 +00:00
Sebastian Dröge
60c3272224
Update gir-files and gst-gir-files
2021-09-19 13:12:58 +00:00
Sebastian Dröge
538ce91987
gstreamer: Provide getter for meta type in addition to meta API type
2021-09-19 15:45:58 +03:00
Sebastian Dröge
7c5303c492
gstreamer: Add support for gst::CustomMeta
2021-09-19 15:45:58 +03:00
Sebastian Dröge
80ee1edec5
gstreamer: Clean up meta code a bit
2021-09-19 15:45:58 +03:00
Sebastian Dröge
9f1b8f6165
gstreamer-video: Add support for VideoCodecAlphaMeta
2021-09-19 14:51:46 +03:00
Sebastian Dröge
514c18ad5a
ci: Update image with a newer GStreamer version
...
As preparation for updating the bindings to the latest 1.19 APIs.
2021-09-19 10:08:37 +03:00
Jonas Platte
4b2f0a936b
Derive PartialOrd, Ord and Hash for PadProbeId
2021-09-15 20:12:03 +02:00
Sebastian Dröge
6b4f6ca45c
gstreamer/device_provider: Add constructor for device provider metadata
2021-09-13 11:34:00 +03: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
ce09e333b3
ci: Add libsoup2.4-dev to FDO_DISTRIBUTION_PACKAGES for now
...
It fails building via gst-build because of its sysprof subproject.
2021-09-10 09:43:12 +03:00
Sebastian Dröge
4951fb8630
ci: Update stable image to Rust 1.55 and update to meson 0.59.1
2021-09-09 22:20:06 +03:00
Jordan Petridis
2e57783c9f
ci: avoid spawning 2 pipelines for each commit
...
When an MR is open, you can have both a normal and a "detached"
pipeline.
They have different properties, but a detached pipeline is
enough for us and identical to the normal one, so we can avoid
the extra load on the CI.
https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
2021-09-09 06:13:56 +03:00
Sebastian Dröge
a3a7f85f7f
rtp/rtpbuffer: Work on &BufferRef
/ &mut BufferRef
instead of &Buffer
/ &mut Buffer
...
The buffer, in the writable case, needs to be actually writable (i.e.
refcount 1) and this was previously not ensured.
Also it caused some API mismatch when trying to use it e.g. as part of
basetransform's `transform_ip()` virtual method.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/162
2021-09-08 09:29:05 +03:00
Marijn Suijten
a208919c88
video/video_rectangle: Mark struct as repr(C) for FFI transparency
...
This struct is "reimplemented" to make it easier to access the fields
instead of going through `ffi::GstVideoRectangle`, but should be marked
`repr(C)` to remain binary-compatible.
2021-09-04 00:13:24 +02:00
Marijn Suijten
212d4ef008
video/video_rectangle: Add ToGlibPtrMut implementation
...
Vulkan passes a mutable pointer to an uninitialized `VideoRectangle`
into the C API for retrieval.
2021-09-04 00:13:24 +02:00
Marijn Suijten
430abb1e9d
video/video_rectangle: Implement glib::translate::Uninitialized
...
The new Vulkan bindings require this.
2021-09-04 00:13:24 +02:00
Guillaume Gomez
c68b601c74
regen
2021-08-31 15:11:15 +02:00
Guillaume Gomez
59b5ad9c8a
Update gir submodule
2021-08-31 15:09:51 +02:00
Simonas Kazlauskas
db30c121a0
const ElementMetadata constructor
...
The usual use of this will be through the `ElementImpl::metadata`
method, which requires a `&'static` reference to `ElementMetadata` to be
returned, so we better make it easy to construct these (without forcing
people to resort to `Lazy`'n'stuff)
2021-08-31 09:10:31 +00:00
Marijn Suijten
adfb6e35a4
Update gir and regenerate with attributes removed from macro calls
...
See https://github.com/gtk-rs/gir/pull/1213 .
2021-08-30 09:52:36 +02:00
Marijn Suijten
12887f1931
gstreamer: Move attributes on macro-calls like cfg_if
inside the macro
...
Attributes don't do anything when applied to macro invocations:
warning: unused attribute `doc`
--> gstreamer/src/lib.rs:146:29
|
146 | #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_attributes)]` on by default
note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `cfg_if::cfg_if`
--> gstreamer/src/lib.rs:147:1
|
147 | cfg_if::cfg_if! {
| ^^^^^^^^^^^^^^
And, on line 294-295:
warning: unused attribute `doc`
--> gstreamer/src/lib.rs:294:33
|
294 | #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `cfg_if::cfg_if`
--> gstreamer/src/lib.rs:295:5
|
295 | cfg_if::cfg_if! {
| ^^^^^^^^^^^^^^
Fortunately these two `cfg_if`'s for the Unix and Windows bus already
apply unnecessary trickery that duplicates the `mod`s and `use`s in
order to get documenation for both no matter the target platform; we can
capitalize on that by removing the `cfg_if` altogether and instead
applying the `cfg` and `doc(cfg())` attributes directly.
2021-08-29 11:21:46 +02:00
Simonas Kazlauskas
782d84bede
Remove the links
annotations
...
The `links` annotation in `Cargo.toml` is intended to ensure that in the
crate graph there's at most one crate that's an implementation of
some sort concept.
This can make sense in some scenarios, most prominent of which is when
the crate defines `#[no_mangle]` symbols (e.g. by compiling a vendored C
library.) In that situation linking a binary that depends on two
versions of the library cannot work because of colliding symbol names.
There does not appear to be a similar reason to impose such a
restriction on the users of `gstreamer-sys` and similar, however. All of
these crates link to a system library, they do not define any
`#[no_mangle]` symbols nor they vendor and build C libraries as part of
their build process. All they do is linking to a system library. Most
likely all the different versions of the bindings will link to the exact
same library too.
I haven't seen any global resources that these bindings use to ensure
soundness of the library, either.
2021-08-23 16:56:27 +00:00
Sebastian Dröge
ece84597fd
Update CHANGELOG.md for 0.17.3
2021-08-23 09:11:50 +03:00
Marijn Suijten
068b078edf
README: Replace shell
with console
codeblocks
2021-08-18 15:28:00 +02:00
Marijn Suijten
6db5ab5631
*/README: Synchronize with root README.md
2021-08-18 15:27:29 +02:00
Marijn Suijten
323c67dee4
README: Use symlink to point to gstreamer/README.md
...
These files are (supposed to be) identical. This also synchronizes the
missing bits from README.md to gstreamer/README.md.
2021-08-18 15:14:33 +02: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
Sebastian Dröge
43bfd1ae85
gstreamer: Add Value::deserialize_with_pspec() from 1.20
2021-08-17 08:53:53 +03:00
Sebastian Dröge
c5c9fd81e4
gstreamer: Value::deserialize() needs to take the target type as parameter
...
Otherwise it will always fail.
2021-08-17 08:53:52 +03:00
Jordan Petridis
2ded2837ba
tracer: add rustdoc-stripper-ignore-next annotations
2021-08-16 18:49:23 +03:00
Jordan Petridis
abfa75b334
ci: update base image to debian 11
...
also update the ci-template sha
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/836 >
2021-08-16 15:25:08 +00:00
Edward Hervey
f504493134
gstreamer: Add serde support for more enums and flags
...
PadDirection, PadPresence, URITYpe, Rank
2021-08-16 15:05:37 +02:00
Simonas Kazlauskas
cb475e0965
Bindings to GstTracer and GstTracerFactory
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/147
2021-08-16 14:38:22 +03:00
Simonas Kazlauskas
3ad9d3340b
Make plugin date-time optional
...
It is described as optional in
https://gstreamer.freedesktop.org/documentation/gstreamer/gstplugin.html?gi-language=c#GstPluginDesc
and is also pretty difficult to provide for Rust plugins, I feel. For C
stuff the expectation is that build system would set something like
GST_PACKAGE_RELEASE_DATETIME=`date -u "+%Y-%m-%dT%H:%MZ"` which is
terrible.
2021-08-10 17:38:55 +03:00
Sebastian Dröge
f84fc0dc59
Update CHANGELOG.md for 0.17.2
2021-08-05 18:01:23 +03:00
Fabio Valentini
e146672851
gstreamer-audio: fix audio_format code for big-endian targets
2021-08-04 13:30:53 +02:00
Guillaume Gomez
26a6fba6e2
regen
2021-08-03 11:55:44 +02:00
Guillaume Gomez
0564b2f9fb
Update gir and gst-gir-files submodules
2021-08-03 11:54:11 +02:00
Guillaume Gomez
e2264a3f3f
Fix (new) clippy warnings
2021-08-03 10:08:32 +02:00
Guillaume Gomez
38dfeb9b00
Update minimum supported rust version to 1.54
2021-07-30 20:26:11 +02:00
Guillaume Gomez
a0d82ec741
Merge README files and crate documentation
2021-07-30 20:26:11 +02:00
Sebastian Dröge
b1afc4804a
Fix various needless-borrow clippy warnings
2021-07-30 13:19:24 +03:00
Sebastian Dröge
044a72d9f6
base: Fix new clippy warning
...
error: statement can be reduced
--> gstreamer-base/src/flow_combiner.rs:6:1
|
6 | / glib::wrapper! {
7 | | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
8 | | #[doc(alias = "GstFlowCombiner")]
9 | | pub struct FlowCombiner(Shared<ffi::GstFlowCombiner>);
... |
31 | | }
32 | | }
| |_^
2021-07-30 12:34:27 +03:00
Sebastian Dröge
6ad0e9e0a0
ci: Update minimum supported Rust version to 1.53
...
One of our dependencies needs 1.53 now and we can't realistically
support older versions like this.
2021-07-26 10:29:06 +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
386bd05817
Update CHANGELOG.md for 0.17.1
2021-07-13 09:20:57 +03:00
Olivier Crête
93c794b338
subclass: Declare minimum to be 1.19 for v1_20
2021-07-13 08:42:56 +03:00
Sebastian Dröge
b73b4428ba
gstreamer/segment: Return a segment reference instead of the value itself from the getter
2021-07-12 14:22:09 +03:00
Vivia Nikolaidou
eb5df0ae26
event: Implement gap_flags
2021-07-09 16:27:41 +03:00
Vivia Nikolaidou
45f8035ccb
structure, caps: Implement 1.20 serialize functions
2021-07-09 15:10:02 +03:00
Sebastian Dröge
7380f18ae7
Revert "ci: namespace should be GStreamer and not gstreamer"
...
This reverts commit c30ea09e4c
.
It was actually wrong.
2021-07-05 13:02:02 +03:00
Marijn Suijten
bea15b8ebd
tutorials/13: Use nested or patterns, available since Rust 1.53
2021-07-05 06:36:57 +00:00
Marijn Suijten
ffa9697edd
rtp/gir: Manually implement RtpHeaderExtension read() and write()
...
The array size is now provided since [1], yet mutability and `*Ref`
makes it impossible to generate these functions properly. Implement
them by hand.
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1190
2021-07-05 06:36:57 +00:00
Jordan Petridis
6275b4ba70
ci: use parentheses for the rules:if statement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/818 >
2021-07-02 16:33:30 +03:00
Sebastian Dröge
c30ea09e4c
ci: namespace should be GStreamer and not gstreamer
2021-07-02 12:08:46 +00:00
Sebastian Dröge
e008923a30
ci: Don't deploy docs on forks
...
It would fail unless the fork also has docs build artefacts for all
previous releases.
Based on https://gitlab.gnome.org/World/Rust/gir-rustdoc/-/merge_requests/10
2021-07-02 14:01:01 +03:00
Sebastian Dröge
edac1a1d3a
gstreamer/element: Include ElementExtManual::request_pad_simple() in the docs too
...
Currently only the v1_20 ElementExt::request_pad_simple() appears in the
docs but it's available from the other trait in older versions.
2021-06-30 09:26:51 +00:00
François Laignel
c9b88afcb4
gstreamer-*/CHANGELOG.md use symlinks
2021-06-29 15:45:58 +02:00
François Laignel
393d8959bd
CHANGELOG: mention fix-getters migration tools
2021-06-29 11:40:56 +02:00
Sebastian Dröge
a06cf66e6d
Update versions to 0.18.0
2021-06-29 00:08:16 +03:00
Sebastian Dröge
ac75382d8c
controller: Add missing README.md
2021-06-29 00:07:36 +03:00
Sebastian Dröge
35c2086e2a
Update CHANGELOG.md for 0.17.0
2021-06-29 00:07:36 +03:00
Sebastian Dröge
c0904af4a7
Regenerate with latest gir-files
2021-06-28 18:34:03 +03:00
Sebastian Dröge
55c10235cf
webrtc: Remove unneeded dependencies on gst-sys and gobject-sys
2021-06-28 18:34:03 +03:00
Sebastian Dröge
6770a57f24
webrtc: Fix manual data channel code
...
The corresponding API shouldn't have been public and is not public
anymore with 1.20.
2021-06-28 18:34:03 +03:00
Sebastian Dröge
ee07ba4bc4
webrtc: Fix minimal version of WebRTCRTPSender
2021-06-28 17:54:50 +03:00
Sebastian Dröge
1cec94af1a
gstreamer: Mark all kinds of miniobject memory management convenience functions as existing since 1.18.3
...
Previously they were only available as inline functions in the headers.
2021-06-28 17:54:48 +03:00
Sebastian Dröge
e784f56ea5
Update gst-gir-files
2021-06-28 17:54:28 +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
7bb9a0df70
ci: Add 0.17 release for the docs
2021-06-25 09:38:19 +03:00
Sebastian Dröge
9123143b57
Regenerate
2021-06-24 08:58:46 +03:00
Sebastian Dröge
611d65f15d
Update gir
2021-06-24 08:57:18 +03:00
Sebastian Dröge
7c0fa02ffb
examples: Update to glutin 0.27
2021-06-22 08:55:38 +03:00
Guillaume Gomez
dfeb777513
regen
2021-06-21 23:07:45 +02:00
Guillaume Gomez
346573875b
Update gir submodule
2021-06-21 23:06:50 +02:00
Sebastian Dröge
a94d84e780
Silence/fix various clippy warnings
2021-06-20 10:59:49 +03:00
Sebastian Dröge
156dffd00e
ci: Update images to Rust 1.53, rustup 1.24.3, meson 0.58.1
2021-06-18 16:30:55 +03:00
François Laignel
6a5f17ae06
regen for ges: some more mandatory ClockTimes
2021-06-16 17:25:28 +02:00
François Laignel
c723ecac5d
ges: some more mandatory ClockTimes
2021-06-16 17:22:41 +02:00
Guillaume Gomez
64d1598336
regen
2021-06-13 20:52:12 +02:00
Guillaume Gomez
b18fd9cc6d
Update gir submodule
2021-06-13 20:39:06 +02:00
Sebastian Dröge
0a71e3c8da
Regenerate with latest gir
2021-06-10 12:53:52 +03:00
Sebastian Dröge
62f963d61d
Update gir
2021-06-10 12:52:53 +03:00
François Laignel
aaa9eddc85
video: make nsec_since_daily_jam return ClockTime
2021-06-04 22:09:38 +02: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
François Laignel
8dda8def6e
Manual try_from_glib shortcuts + unsafe
2021-06-04 22:09:38 +02:00
François Laignel
03e8e6d22f
regen: use TryFromGlib::Option for ClockTime
2021-06-04 22:09:38 +02:00
François Laignel
532af96ef9
Gir.toml: use TryFromGlib::Option for ClockTime
2021-06-04 22:09:38 +02:00
Marijn Suijten
dc763501ae
check/harness: Add new 1.19.1 set_live
function
2021-06-04 11:51:01 +02:00
Marijn Suijten
fde3d2088d
gl: Add v1_20 feature to egl, wayland and X11
...
This was probably missed while moving these crates around in parallel to
132477f51
("cargo.toml: Add v1_20 feature to all crates").
2021-06-04 11:51:01 +02:00
Marijn Suijten
b8d50a342f
CI: test all features on v1_20
2021-06-04 11:51:01 +02:00
Marijn Suijten
110bfce7e6
video/video_format: Expect a specific panic reason
2021-06-04 11:51:01 +02:00
Nazar Mokrynskyi
a6d5f6f5a5
Add support for GstAudioLevelMeta
...
[Marijn: Add `GstAudioLevelMeta` to the `manual` list in `Gir.toml`]
2021-06-04 11:51:01 +02:00
Marijn Suijten
738a07b279
gl/gl_memory: Use gl_memory_get_type() since 1.19.1
2021-06-04 11:51:01 +02:00
Marijn Suijten
a85b30eacb
audio,video: Remove dox feature from function bodies
...
Now that the crates are generated and linked against v1_20 binaries
there is no need to guard this codepath when building `dox` (which
inherently enables `v1_20` but did previously not actually compile
against that version yet).
2021-06-04 11:51:01 +02:00
Marijn Suijten
a828d3cc12
video: VideoChromaSite now has an autogenerated impl Display
...
Still calls into the manual `fn to_str()`.
2021-06-04 11:51:01 +02:00
Marijn Suijten
8226c94110
sys: Link all v1_20 sys crates against library 1.19
2021-06-04 11:51:00 +02:00
Marijn Suijten
510e4cd2b1
Regenerate with 1.19.1 updates
2021-06-04 11:51:00 +02:00
Marijn Suijten
ae6d3e2b1b
webrtc/WebRTCDTLSTransport: Mandate 1.20 for API change in new
2021-06-04 11:50:59 +02:00
Marijn Suijten
5b4a28e63d
rtp/RTPHeaderExtension: Mark sdp_caps_field_name as non-nullable return
2021-06-04 11:50:24 +02:00
Marijn Suijten
aa60c40c61
gst/gir: Generate new flags since 1.19.1
2021-06-04 10:26:24 +02:00
Marijn Suijten
6588144300
gl/gir: Generate new flags and enums since 1.19.1
2021-06-04 10:26:20 +02:00
Marijn Suijten
7d13ecf1aa
gst,gl: Drop superfluous enum/flag member versions (since 1.19.1)
...
https://github.com/gtk-rs/gir/pull/1180 now parses these from `.gir`
directly, and `1.19.1` now includes the version for a few more of these
enums.
2021-06-03 21:24:12 +02:00
Marijn Suijten
0d26534233
webrtc/gir: Enable 1.19.1 WebRTCKind for generation
2021-06-03 21:24:12 +02:00
Marijn Suijten
5b27f8c94e
rtp/gir: Enable 1.19.1 RTPHeaderExtension for autogeneration
2021-06-03 21:24:12 +02:00
Marijn Suijten
7e465e4639
rtp/gir: Add Gst.ElementFactory as manual to generate 1.19.1 functions
2021-06-03 20:36:04 +02:00
Marijn Suijten
af6efa3efe
video/gir: Enable 1.19.1 VideoAggregatorParallelConvertPad generation
2021-06-03 20:36:04 +02:00
Marijn Suijten
899a1f6ea4
video/gir: Enable 1.19.1 VideoDecoderRequestSyncPointFlags generation
2021-06-03 20:36:02 +02:00
Marijn Suijten
563beca4d6
app/gir: Enable new 1.19.1 GstApp.AppLeakyType enum for generation
2021-06-03 20:35:35 +02:00
Marijn Suijten
bdc26746b6
treewide/gir: Mark Gst.Structure as ref
instead of ref-mut
mode
...
The only bindings using this type show up in v1.20 and use `&mut` which
lacks a matching `.to_glib_full()` implementation.
2021-06-03 20:35:35 +02:00
Marijn Suijten
9fd768425e
Rename request_pad_simple to avoid 1.19.1 clash
...
Fixes: 3f442d977
("prep for regen: relaxed get fn identification")
2021-06-03 20:35:35 +02:00
Marijn Suijten
a7d559116d
gl/gir: Remove const overrides for fixed annotations in 1.19.1
2021-06-03 20:35:35 +02:00
Marijn Suijten
60b6fe9749
audio/AudioStreamAlign: getter const-ness is now proper in the bindings
...
1.20 bindings were fixed to pass self as const; no need to override this
anymore.
2021-06-03 20:35:28 +02:00
Marijn Suijten
6e2cba928a
ci: Bump image version to rebuild images with master
GStreamer
2021-06-03 20:35:28 +02:00
Marijn Suijten
fc1716cd8a
ci/install-gst: Clone gst-build master branch
2021-06-03 20:35:28 +02:00
Marijn Suijten
a2bb72b604
gst-gir-files: Bump to 1.19.1 import
2021-06-03 20:35:28 +02:00
Marijn Suijten
3d8d1ffb19
Update gir and regenerate with automated enum/flag member versioning
...
https://github.com/gtk-rs/gir/pull/1180
2021-06-03 20:33:34 +02:00
Marijn Suijten
9b22b09efe
gir: Remove unnecessary member annotations
2021-06-03 20:25:38 +02:00
Guillaume Gomez
b0fc500ed1
Generate missing doc aliases
2021-06-02 20:23:29 +02:00
Guillaume Gomez
abf82e6f7a
Replace raw constants with the FFI constants
2021-06-02 20:23:01 +02:00
Guillaume Gomez
96266ff922
Generate missing doc aliases
2021-06-02 17:35:30 +02:00
Marijn Suijten
7fcd560d18
Update gir and regenerate
...
- Doc aliases for types;
- ffi constants for bitflags too;
- Completely overhauled docs generation under the hood (only emitting
valid links, more types receive documentation now).
2021-06-02 09:47:51 +02:00
Marijn Suijten
170f7214eb
Regen with extended Gir.toml
2021-06-01 13:40:52 +00:00
Marijn Suijten
b19dcd0b66
player/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
be33e4f776
rtsp-server/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
09d39a9cbb
rtp/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
f78cb39615
ges: Replace (set_)child_property with autogenerated implementation
...
This function is now autogenerated thanks to `glib::Value` being
declared as available in `Gir.toml` and does not seem to have any
deficiencies compared to the manual implementation [1].
[1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/789#note_937493
2021-06-01 13:40:52 +00:00
Marijn Suijten
1c05f61bb8
ges/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
9b600416a1
check/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
d43234b65e
gl: Reexport glib
crate from crate root
...
Reexporting dependencies is common for all crates here, and relied upon
by the documentation generator.
2021-06-01 13:40:52 +00:00
Marijn Suijten
4b3ea270d8
gl/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
800ad5fc4a
video/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
5ebf6de6eb
base/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
d192d1caf8
audio/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
4f479326f3
gstreamer/gir: Document manually implemented types and functions
2021-06-01 13:40:52 +00:00
Marijn Suijten
1e58dd553c
treewide: Add missing external external types to manual
list
...
Gir now uses analyzed objects to generate documentation, and to know
exactly what is available. Additionally, this allows more bindings to
be generated.
2021-06-01 13:40:52 +00:00
Guillaume Gomez
5ba79976a9
Generate missing doc aliases for newtypes
2021-06-01 15:15:59 +02:00
Sebastian Dröge
04e6c1b547
app: Remove signals bindings from appsrc/appsink for the signals that also have callbacks
...
The callbacks are more flexible and performant.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/338
2021-05-30 23:00:44 +03:00
Sebastian Dröge
33484258d1
app: Re-add properties from basesrc/basesink that make sense for appsrc/appsink
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/339
2021-05-30 23:00:44 +03:00
Sebastian Dröge
b23bb2039e
base: Rename basesink's is_drop_out_of_segment() to drops_out_of_segment()
2021-05-30 20:59:16 +03:00
Sebastian Dröge
a21f334290
base: Remove duplicated setters/getters for basesink/basetransform properties
...
The functions are named non-standard and because of that can't be
automatically ignored in favour of the properties.
2021-05-30 20:59:16 +03:00
Sebastian Dröge
849a524b09
element: Make caps in link_filtered() / link_pads_filtered() mandatory
...
Instead of passing `None`, the non-filtered variants of the functions
can be used.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/328
2021-05-30 17:30:22 +00:00
Sophie Herold
e453701b50
Adapt gir-docs -> gir-rustdoc script rename
2021-05-30 12:55:11 +02:00
Sebastian Dröge
34f3e7710c
Point to the new documentation location everywhere
2021-05-29 19:00:50 +03:00
Sebastian Dröge
4960782ba0
Add more redirects for old documentation links
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/342
2021-05-29 18:56:03 +03:00
Marijn Suijten
819d60ec8b
ci: gir-checks: Update submodules before running jobs
...
This might explain the weird diff we were seeing in submodule hashes.
All other jobs checking `git diff` after their operations make sure
they're up-to-date, except the `gir-checks` step.
2021-05-28 17:07:27 +00:00
Sebastian Dröge
b15d8e4c2e
ci: Add more git diff
s to the gir checker job to figure out where it fails
...
It regularly fails when building a pipeline on master with dirty git
submodules, but never seems to fail in MRs.
2021-05-28 16:54:56 +03:00
Bilal Elmoussaoui
b2083d0973
gir-files: drop broken commit & regen
2021-05-28 14:16:15 +02:00
Marijn Suijten
0f73912133
gstreamer/gir: Remove duplicate function configurations
...
Found this ambiguity in https://github.com/gtk-rs/gir/pull/1164 .
2021-05-28 13:24:49 +02:00
Marijn Suijten
eaed54e279
Update gir and regenerate with simplified trait bounds
...
Trait bounds moved from `where T: Foo` directly into the type parameter
definition at `<T: Foo>`: https://github.com/gtk-rs/gir/pull/1160 .
2021-05-27 00:02:42 +02:00
Sophie Herold
21b3bf1f78
Add redirects for legacy URLs
2021-05-26 11:33:24 +02:00
Sophie Herold
8e05ee28ed
Base pages on gir-docs
2021-05-25 19:04:48 +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
Sebastian Dröge
88c4f70195
Regenerate with latest gir
2021-05-23 16:27:57 +00:00
Sebastian Dröge
7e4627baf8
gir: Update
2021-05-23 16:27:57 +00:00
Guillaume Gomez
dcd0695567
Improve conversion code for enum variants
2021-05-23 13:15:27 +02:00
Guillaume Gomez
7e892b507f
Add missing doc aliases on variants
2021-05-23 13:06:57 +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
1b1a4aa30b
Add CI check for doc aliases
2021-05-21 12:05:46 +02:00
Marijn Suijten
540062b97c
Add missing doc aliases to manual code
...
Using the same script as [1], called with:
python3 add_doc_alias.py gstreamer*/**/src
[1]: https://github.com/gtk-rs/gtk-rs-core/pull/83
2021-05-19 22:36:18 +02:00
Sebastian Dröge
b02f2acae5
gstreamer: Update for try_from_glib() having become an unsafe function
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/337
2021-05-19 11:47:11 +03:00
Sebastian Dröge
b1088a6d11
tutorials/basic-tutorial-13: Make sure that acquiring the main context actually succeeds
2021-05-18 12:16:59 +03:00
Sebastian Dröge
6b8bfd2701
tutorials/basic-tutorial-13: Store the main context acquire guard in a variable
...
Otherwise it will be immediately released again.
2021-05-18 11:43:37 +03:00
Guillaume Desmottes
1fa5028b90
ci: update Rust stable to 1.52
...
Looks like it's needed for the plugins:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/512
2021-05-17 09:41:55 +02:00
Sebastian Dröge
11a85449e7
gstreamer/uri_handler: Only assign to GError**
s if they're not NULL
2021-05-15 10:41:34 +03:00
Sebastian Dröge
840a1129ba
deny: Remove obsolete configurations
2021-05-14 10:47:02 +03:00
Guillaume Gomez
6fdf35846e
Update repository URL for gtk-rs "core" crates
2021-05-12 21:21:18 +02:00
Sebastian Dröge
d30e626e79
video: Add subclassing support for VideoFilter
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/156
2021-05-10 12:38:53 +03:00
Sebastian Dröge
255c0ff95e
video: Don't return glib::Borrowed from VideoFrameRef::from_glib_borrow_mut()
...
For it to be usable we need a mutable reference, which Borrowed does not
provide. This should be handled via Pin at a later time, see
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/324
2021-05-09 19:15:47 +03:00
François Laignel
65fd79f973
ParamSpec: conform to glib naming for constructors
2021-05-06 21:40:19 +02:00
Marijn Suijten
d203745cfc
ci: Install rustdoc-stripper
in Nightly Rust image
...
This saves two build-jobs from performing the same (expensive!)
compilation+installation over and over again, when it is much cheaper to
cache it in the image instead.
2021-05-05 12:23:40 +02:00
Marijn Suijten
dae2fd361f
gl/{egl,wayland,x11}: Reexport gst_gl crate from root
...
It is common for GStreamer crates to reexport all their
(GStreamer-related) dependencies, and the GL windowing crates should not
be an exception to this rule. Furthermore EGL documentation references
`crate::gst_gl::GLDisplayType` in the crate root which would be
unreachable otherwise.
2021-05-05 12:23:40 +02:00
Marijn Suijten
e8c90c9186
gstreamer/lib: Prevent fn deinit()
docs from being stripped
2021-05-05 12:23:40 +02:00
Marijn Suijten
43a4bde600
CI: Ensure all documentation comments are protected against stripping
2021-05-05 12:23:40 +02:00
Marijn Suijten
d50d7b4a95
Update gir and regenerate
...
This version adds a `--strip-docs` flag to `generator.py`, used in
conjunction with `--strip-docs --embed-docs` to clean documentation
first before re-embedding it (otherwise the same text would show up
multiple times). It is also used in the CI to check that no
documentation disappears on stripping, ie. all documentation is properly
annotated with `// rustdoc-stripper-ignore-next`.
2021-05-05 12:23:40 +02:00
Sebastian Dröge
aa3cc48756
Fix new 1.52 clippy warnings
2021-05-05 12:02:03 +03:00
Sebastian Dröge
5a915e4732
gstreamer-app/appsink: Don't require Sync for the new-sample/new-preroll signal handlers
...
Was accidentally changed by 2364361f6
2021-05-05 10:30:08 +03:00
François Laignel
5505715cc4
Manual code updates for *Return types
2021-05-04 11:33:51 +00:00
François Laignel
2364361f6b
regen: use TryFromGlib for *Return types
2021-05-04 11:33:51 +00:00
François Laignel
4b2e001f8e
Gir.toml: use TryFromGlib for *Return types
2021-05-04 11:33:51 +00:00
François Laignel
8753357c04
gir update: TryFromGlib support
2021-05-04 11:33:51 +00:00
Sebastian Dröge
b05b2b3aaa
examples/overlaycomposition: Fix compilation with cairo API changes
2021-05-04 14:28:28 +03:00
François Laignel
9c86aa9f76
rename remaining connect_property_...
2021-05-03 20:46:57 +02:00
François Laignel
49583597ed
manual code: fix-getters-def doc aliases
2021-05-03 20:46:57 +02:00
François Laignel
01b6d342a4
regen: prop alias + connect_*_notify signal + add fn doc alias
2021-05-03 20:46:56 +02:00
François Laignel
7b0a3487c8
gstreamer/ControlSource: fix explicit getter rename
2021-05-03 20:45:26 +02:00
François Laignel
c77d3bf0ee
gir update: prop alias + connect_*_notify signal + add fn doc alias
2021-05-03 20:33:30 +02:00
Marijn Suijten
a49ea94d14
audio,ges,rtsp-server: Define GstObjectExt trait rename for docs
...
The generator does not read Gir.toml from dependencies, missing out on
trait renames like `ObjectExt` turning into GstObjectExt` (to prevent
clashes with `glib`'s `ObjectExt`). Renaming through `trait_name` is
now taken into account in `gir` thanks to [1], but the renames still
need to be availble to all crates referencing this type. Fortunately
only `Gst.Object` is affected - other renamed traits are not extended in
any of the other crates.
[1]: https://github.com/gtk-rs/gir/pull/1108
2021-05-02 21:33:48 +02:00
Marijn Suijten
579ac6c4e4
video: Implement gst_video_color_range_offsets for Video(Format)Info
2021-04-30 16:48:31 +02:00
Marijn Suijten
7cb151dd46
video: Update VideoColorRange based on autogenerated implementation
...
Also separate the lower/upper bound in the name with an underscore. This
cannot be added between `Range` and the first number, that's violating
`non_camel_case_types`.
2021-04-30 11:09:08 +02:00
Marijn Suijten
1eb0c483fe
gstreamer: Fix some clippy::use_self warnings
2021-04-30 10:58:36 +02:00
Marijn Suijten
41f8d00620
gl: Fix all clippy::use_self warnings
2021-04-30 10:58:36 +02:00
Marijn Suijten
28cf8434d0
video: Fix all clippy::use_self warnings
2021-04-30 10:58:35 +02:00
Marijn Suijten
66b60a0822
audio: Fix all clippy::use_self warnings
2021-04-30 10:02:55 +02:00
Marijn Suijten
a36fe2a3f5
base: Fix all clippy::use_self warnings
2021-04-30 10:02:55 +02:00
Marijn Suijten
980304ce36
Replace T::type_data with Self::type_data for clippy::use_self
2021-04-30 10:02:55 +02:00
Marijn Suijten
e52e4328b3
Allow clippy::use_self on auto module
2021-04-30 10:02:47 +02:00
Marijn Suijten
10c93807fb
Replace explicit type with Self in for_value_type::<> turbofish
2021-04-30 10:02:47 +02:00
Marijn Suijten
e8f340c60a
Update gir and regenerate with clippy::use_self fixes
...
`Self` is now used in more places, shortening the code and making it
more readable at the same time.
2021-04-30 10:02:44 +02:00
Marijn Suijten
baa29777a4
ci: Deduplicate clippy linter arguments
2021-04-29 21:36:44 +02:00
Marijn Suijten
6ee12d49ee
gl: Add subclass implementation for GLBaseSrc, inheriting PushSrc
2021-04-29 19:15:41 +02:00
Marijn Suijten
bdb60b57ad
gl: Enable autogeneration of GstGLBaseSrc
2021-04-29 19:15:41 +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
Marijn Suijten
e6a81edb3c
prelude: Remove redundant reexports already provided by other preludes
...
For cleanliness the prelude module only needs to reexport preludes from
direct, "top-most" crates, which themselves take care of reexporting
preludes from its dependencies again. This shaves off some code while
maintaining the same set of exports.
2021-04-29 11:44:35 +02:00
Sebastian Dröge
3ad7a18792
gstreamer: Remove unused leftover ToGlib import
...
And directly call from_glib_borrow() instead of adding a use statement
for it.
2021-04-28 09:28:54 +03:00
yatinmaan
ffe6821813
tutorials: Add playback-tutorial-1
2021-04-28 02:28:38 +05:30
Bilal Elmoussaoui
890cd03632
manual renames of to_glib into into_glib
2021-04-27 19:44:41 +02:00
Bilal Elmoussaoui
060a7df448
regen with renamed ToGlib into IntoGlib
2021-04-27 19:14:52 +02:00
Marijn Suijten
da156e8ce7
Update gir and regenerate without unused glib::ToValue
imports
2021-04-27 10:14:19 +02:00
Marijn Suijten
5dade6a93c
Disallow unused_imports in auto
module again
...
This was temporarily allowed by Value trait refactoring, but the root
cause of the unused imports has been found (`glib::ToValue` for property
getters) and fixed in https://github.com/gtk-rs/gir/pull/1117 .
2021-04-27 10:14:12 +02:00
Marijn Suijten
8213f684bc
README: Install glib2-devel
when building in MSYS2
2021-04-26 17:56:29 +00:00
Sebastian Dröge
1d59ea91c5
Clean up various imports everywhere
2021-04-26 15:16:58 +03:00
Sebastian Dröge
5d11bba67e
Fix missed ExtManual imports from macros
2021-04-26 14:56:12 +03:00
Marijn Suijten
1a07bfc710
Update gir
and regenerate without trait reexports in crate root
2021-04-26 13:24:02 +02:00
Marijn Suijten
2c40ce10ab
gstreamer,pbutils: Only import traits from prelude
...
Future changes will make all traits - both manual and auto - unavailable
from the crate root; they can then only be imported from the `prelude`.
2021-04-26 13:24:02 +02:00
Marijn Suijten
827ff99965
lib: Only export traits (Ext and ExtManual) from prelude
...
In gir it was brought up [1] that some traits (in particular
`*ExtManual`) are exported from the crate root in addition to the
prelude, cluttering the environment unnecessarily. This commit removes
all these reexports, leaving those in prelude (that were already there)
only.
After this commit everything matching `Ext(Manual)?\b` in `lib.rs` sits
within `pub mod prelude {};`.
[1]: https://github.com/gtk-rs/gir/pull/1111
2021-04-26 11:25:23 +02:00
Sebastian Dröge
5b7b39c448
gstreamer: Add CapsFeatures API using glib::Quarks instead of strings
...
The same API for Structures already exists.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/141
2021-04-26 10:54:23 +03:00
Sebastian Dröge
eda1d3d4a7
Update for Value trait refactoring
2021-04-25 14:45:08 +03:00
Sebastian Dröge
0eb5845934
Regenerate with latest gir
2021-04-25 14:45:01 +03:00
Sebastian Dröge
89605bd345
Update gir
2021-04-25 14:44:56 +03:00
Marijn Suijten
3af9de175c
ci: Create index page for the documentation
2021-04-24 10:38:50 +02:00
Marijn Suijten
4be08cc7df
ci: Update gtk-rs docs link to https://gtk-rs.org/gtk-rs/git/docs/
...
This link was falsely pointing to https://gtk-rs.org/gtk-rs/ where no
documentation resides (anymore?).
2021-04-24 10:38:50 +02:00
Marijn Suijten
801b1f2371
ci: Update and embed docs in one step using generator.py
...
`generator.py` can now be used to perform documentation generation and
embedding in one go, simplifying the entire process while at the same
time getting rid of intermediate `docs.md` being checked in to the
repository. For this the CI needs the submodules with `gir` and the
`.gir` files.
2021-04-24 10:38:49 +02:00
Marijn Suijten
9dec3c359f
generator.py: Replace with link to gir/generator.py
...
The generator (the script that invokes `gir` for all `Gir.toml` crates)
is now shared between all projects that utilize `gir` to simplify
collaboration, instead of having to copy-paste improvements back and
forth. All GStreamer-rs specifics (path to `gst-gir-files`) has been
taken care of by using `girs_directories` in `Gir.toml` instead like
`gtk(4)-rs`.
2021-04-24 09:39:04 +02:00
Marijn Suijten
1b2b3a75bc
Update gir with generator.py included and regenerate
...
The `gir` repository now includes `generator.py` for easier sharing of
improvements with other projects like `gtk(4)-rs`.
2021-04-24 09:39:04 +02:00
Marijn Suijten
3f508963e7
gstreamer: Remove now-unused build.rs from "normal" crates
...
The `lgpl-docs` and documentation embedding step is now solely invoked
from `./gir/generator.py` in the CI, and does not need the embed/purge
build features anymore.
2021-04-24 09:39:04 +02:00
Marijn Suijten
52f736f7fb
Gir.toml: Remove unused doc_target_path
...
The generator is now solely in charge of the output path. Besides, only
few crates were inconsistently defining this path while the rest was
leaving it up to a default or the path specified on the cmdline.
2021-04-24 09:39:04 +02:00
Marijn Suijten
e62558dde4
Remove docs/
crate and references to it
...
The `lgpl-docs` crate and all precompiled (easy to get outdated!)
docmentation files are removed in favour of being generated at runtime
by the improved generator, both during local development as well as in
the CI.
2021-04-24 09:39:02 +02:00
Marijn Suijten
7ede94fec8
Replace all girs_dir with girs_directories and add gst-gir-files dir
...
The previous commit reinstantiated `girs_dir`, and this commit applies
the rename to `girs_directories` and adds the new/missing
`gst-gir-files` directory where GStreamer-specific `.gir` files live.
2021-04-23 22:01:23 +02:00
Marijn Suijten
666ea908a5
Revert "Gir.toml: Drop unused/renamed girs_dir in favour of gir -d
"
...
This reverts commit 7f9fcb09e2
.
`generator.py` is in the process of being moved to a generic place in
the `gir` repository for reuse across crates. This means `-d` cannot be
passed for our GStreamer-specific `gst-gir-files` directory anymore, and
should be configured from `Gir.toml` instead.
2021-04-23 21:59:33 +02:00
Guillaume Desmottes
f00c57cd6f
ci: coverage: ignore build.rs when generating reports
2021-04-23 12:28:54 +00:00
Guillaume Desmottes
c3946eef7c
ci: generate cobertura report directly
...
grcov 0.8.0 now has cobertura support so we no longer need to to export
to lcov format and then convert.
Extract the summary from the generated html so the metric matches the
one from the html report (for some reason the cobertura ones are
differents).
The new gitlab summary parsing regexp is now:
<abbr .*>(\d+.\d+) %<\/abbr>
2021-04-23 12:28:54 +00:00
Guillaume Desmottes
ba0b9801e3
ci: use latest grcov release
...
0.8.0 now display a warning but no longer panic on the overflow issue.
2021-04-23 12:28:54 +00:00
Guillaume Desmottes
c22a863a57
ci: coverage: don't build examples and tutorials
...
We just want to build and run the tests to generate the coverage
reports.
Workaround for https://github.com/rust-lang/rust/issues/84421
2021-04-23 12:28:54 +00:00
Sebastian Dröge
9d3888d294
gstreamer: Fix PromiseFuture implementation
...
We can't return a plain reference to something stored inside the future
as that would go out of scope after `await`. Instead return a struct
that wraps the `gst::Promise`, derefs to a structure and keeps the
promise alive as long as needed.
2021-04-23 11:52:02 +00:00
yatinmaan
15295f299f
examples: Use .set_property_from_value for setting flags from Value
2021-04-22 16:00:19 +00:00
Sebastian Dröge
56b7c1916f
ci: Allow the coverage job to fail
...
It's using the nightly compiler and can easily break every now and then,
like it does now with https://github.com/rust-lang/rust/issues/84421 .
2021-04-22 11:23:45 +03:00
Sebastian Dröge
7d8485612e
ci: Don't allow failure of the cargo outdated
job anymore
...
All dependencies are up to date now and we should try keeping it that
way.
2021-04-22 11:23:45 +03: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
François Laignel
b8b944b72b
subclass: remove get prefix where applicable
2021-04-20 18:18:02 +02:00
François Laignel
f7472c82e3
regen: relaxed get fn identification
2021-04-20 18:18:02 +02:00
François Laignel
3f442d9775
prep for regen: relaxed get fn identification
2021-04-20 18:18:02 +02:00
François Laignel
ab8cc6d4ba
gir update: relaxed get fn identification
2021-04-20 18:18:02 +02:00
François Laignel
172a4d47ab
regen: use type_ for glib macros
...
This also includes a new substitution for bool getters:
get_need_... -> needs_...
2021-04-20 18:18:02 +02:00
François Laignel
6cf3771be5
update gir: use type_ for glib macros
2021-04-20 18:18:01 +02:00
Sebastian Dröge
bf6669a9cb
gstreamer: Add TagList::remove() for removing tags
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/327
2021-04-20 10:22:14 +03: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
Marijn Suijten
bf1941beee
gl: Regenerate
2021-04-17 07:54:40 +00:00
Marijn Suijten
43d7238b44
gl: Override readonly allocation parameters to const references
...
All these params are marked const in gstreamer-base 1.20 but their
results will only show here when the resulting g-ir files are imported.
For now the mutability is overridden in Gir.toml, and this commit should
be reverted when the 1.20 bindings are imported.
2021-04-17 07:54:40 +00:00
Marijn Suijten
05edd4155e
gl/gl_memory: Provide manual miniobject implementation
...
This includes mut overrides to prevent the caller from borrowing memory
as mutable. That enforces all kinds of ownership restrictions inside
the miniobject logic when only the underlying data for this memory needs
to be mutable.
Copy functions have been marked unsafe because tex_id might not be valid
and result in UB.
2021-04-17 07:54:40 +00:00
Marijn Suijten
9cc488db4c
gstreamer/miniobject: Make get_type function optional
...
Static typing is needed for `Value` interop, but not every type
(GLMemory in this instance) requires that.
2021-04-17 07:54:40 +00:00
Marijn Suijten
01f0988a48
gl/gir: Configure generation for GLFilter with miniobject quirks
...
GLMemory input/output objects cannot be passed as mutable:
to_glib_none_mut checks if the miniobject is writable, even though the
underlying implementation should really only care about whether the
_data_ owned by this miniobject is.
(This temporary GLMemory object references its parent buffer object
that is also referenced externally, resulting in two references making
the object itself immutable)
Furthermore take care of automatically calling `add_rgba_pad_templates`
in `class_init` if `ADD_RGBA_PAD_TEMPLATES` is set to `true` (the
default).
2021-04-17 07:54:40 +00:00
Marijn Suijten
0d338a003e
gl/gl_filter: Add GLFilterImpl with configurable filter/filter_texture
...
GLFilter should override either .filter() or .filter_texture(), not
both. This allows an implementer to pick at runtime what function is
overridden.
2021-04-17 07:54:40 +00:00
Marijn Suijten
2e85ebe789
gl/gl_base_filter: Implement GLBaseFilterImpl virtual functions
2021-04-17 07:54:40 +00:00
Marijn Suijten
34919c99d0
gl: Enable generation of GstGL.GLMemory
2021-04-17 07:54:40 +00:00
Marijn Suijten
39f8eb98ee
gl/framebuffer: Mark autogenerated fn attach() to unsafe
...
`attachment_point` is said to not be validated, or [existing validation]
is inadequate.
[existing validation]: 57a23786f3/gst-libs/gst/gl/gstglframebuffer.c (L456)
2021-04-17 07:54:40 +00:00
Marijn Suijten
4eddd377e1
gl/gl_base_memory: Provide manual GLBaseMemory miniobject implementation
...
Also enable all dependencies used by this type. Copying
AllocationParams is possible without borrowing the source mutable.
The offset and size parameters of `memcpy` are unchecked and may result
in out-of-bounds reads/writes, which is why this function is marked as
`unsafe`.
2021-04-17 07:54:40 +00:00
Marijn Suijten
d596ea45c5
gl/gir: Make GLBaseFilter always available with min_version
...
This class only contains two functions with a version requirement of at
least 1.16, but the class is used by GLFilter without any version
restrictions.
2021-04-17 07:54:40 +00:00
Marijn Suijten
eda46ac74d
gl/gir: Add external types used by GL to manual list
...
These types will be used by the newly generated GLFilter class and/or
its dependencies.
2021-04-17 07:54:40 +00:00
Marijn Suijten
d200a869bc
gl/gir: Add all used external parent classes as manual
...
As collected with:
xmlstarlet sel -t -v "//_:field[@name = \"parent_class\"]/_:type/@name" gir-files/GstGL-1.0.gir | uniq
This adds GstBase.BaseTransform for GLBaseFilter and GLFilter, and
Gst.Element for gst::panic_to_error.
2021-04-17 07:54:40 +00:00
Marijn Suijten
b8756a3bd8
video/video_buffer_pool: Implement ToGlibPtr for VideoAlignment
...
This will be used by the GL bindings.
2021-04-17 07:54:40 +00:00
Guillaume Desmottes
48f74d39e8
ci: always run coverage job
...
It should be fixed now.
2021-04-16 09:03:25 +02:00
Guillaume Desmottes
1b9c0482d1
ci: uses grcov 0.6.1
...
Newer versions suffer a regression breaking the job.
2021-04-16 09:02:36 +02: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
François Laignel
08545cbefc
regen - remove get prefix for getters
2021-04-13 17:54:38 +02:00
François Laignel
2d093ef1cd
update gir - remove get prefix for getters
2021-04-13 17:22:21 +02:00
François Laignel
d392d968f9
gir prep. for regen - remove get prefix for getters
2021-04-12 14:46:19 +02:00
Marijn Suijten
46080de113
generator: Simplify error handling
...
Similar to Rusts return and try, just use exceptions and pretty-print
them at the highest level (instead of presenting the user with a
stacktrace that's harder to read than the error alone).
2021-04-12 08:48:37 +00:00
Marijn Suijten
1c18a54177
generator: Run all gir processes in parallel
...
Since the addition of doc regeneration - which also spawns a gir process
for every non-sys crate - the process is now incredibly slow and not
well suited for iterative development:
./generator.py --no-fmt 26.25s user 0.79s system 99% cpu 27.044 total
All gir processes are currently ran in serial (the generator waits for
one to complete before spawning the next process) even though there are
no inter-dependencies. Simply spawning all processes at once and
collecting their results + printing them in order after everything has
been spawned yields a significant speedup:
./generator.py --no-fmt 37.99s user 0.88s system 3285% cpu 1.183 total
Note: this is on a 32-core ThreadRipper. The improvement is more modest
on machines with less cores, and also depends on IO speed. A 4-core i5,
before and after:
./generator.py --no-fmt 30.24s user 0.76s system 99% cpu 31.055 total
./generator.py --no-fmt 57.78s user 0.88s system 763% cpu 7.685 total
That's still a sizable gain for simply not blocking on other tasks
anymore.
2021-04-12 08:48:37 +00: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
Sebastian Dröge
7e7f358ba2
gstreamer/tags: Replace removed glib TypedValue with local TagValue
...
See https://github.com/gtk-rs/gtk-rs/pull/449 . This struct remains
vital in GStreamer code to tie a type to an (untyped) SendValue, so that
the underlying value can be retrieved without having to guess its type.
That type is anyway stored in a private member T::TagType.
Co-authored-by: Marijn Suijten <marijns95@gmail.com>
2021-04-12 10:04:26 +02:00
Marijn Suijten
4c53bda67f
docs: Regenerate and add missing gl egl/wayland/x11 files
2021-04-11 15:55:54 +02:00
Marijn Suijten
7bd5212484
generator: Always update docs.md for non-sys crates
2021-04-11 15:47:07 +02:00
Sebastian Dröge
a775f58753
Use glib::Error::into_raw() for passing GErrors without copying back to C
2021-04-11 10:45:56 +03: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
Lucas McGartland
1a7972246c
gstreamer-editing-services: Add bindings for (Base)TransitionClip and OperationClip
2021-04-10 09:25:17 +03:00
Sebastian Dröge
8da8e31d63
examples: Update for gio::Application::run() API simplification
2021-04-08 10:36:05 +03:00
Sebastian Dröge
8d983066f5
gstreamer: Store ffi::GstCaps inside gst::Caps and equivalent for other miniobjects
...
Simplifies code and prepares for the next changes.
2021-04-03 17:43:50 +03:00
Sebastian Dröge
21ff418b0f
gstreamer: Store ffi::GstCapsFeatures inside gst::CapsFeatures
...
Simplifies code and prepares for the next changes.
2021-04-03 17:35:22 +03:00
Sebastian Dröge
b6f6758454
gstreamer: Store ffi::GstStructure inside gst::Structure
...
Simplifies code and prepares for the next changes.
2021-04-03 17:35:10 +03:00
Sebastian Dröge
cd3d114d6c
audio: Update to array-init 2.0
2021-04-02 12:07:27 +03:00
Marijn Suijten
6ec0e3ac4b
Update gir and regenerate with extended gir-dirs comments
...
Gir now prints all directories and their hashes in the version file and
comments; useful now that gstreamer-rs is being generated from both
gir-files/ and gst-gir-files/ submodules.
2021-04-01 15:58:41 +02:00
Marijn Suijten
7f9fcb09e2
Gir.toml: Drop unused/renamed girs_dir in favour of gir -d
...
We were already using `gir -d` and especially now that our files are
separated across two directories that are relative to the directory
containing Gir.toml this only becomes cumbersome. Besides `gir` lacks
functionality to normalize the path, leading to ie.
gstreamer-gl/egl/sys/../../../gir-files in the version comment as a
result.
2021-04-01 15:53:23 +02:00
Marijn Suijten
7328d7ada5
generator: Accept multiple girs-dirs and pass gst-gir-files to gir
2021-04-01 15:53:23 +02:00
Marijn Suijten
50a537b986
gst-gir-files: Add GStreamer-specific gir files back as submodule
...
Submodule from:
https://gitlab.freedesktop.org/gstreamer/gir-files-rs
2021-04-01 15:53:23 +02:00
Marijn Suijten
3df876a998
gir-files: Add back as submodule from gtk-rs
...
Instead of copying gir files over every once in a while, with
split-directory support (https://github.com/gtk-rs/gir/pull/1041 ) we can
now use the submodule directly from https://github.com/gtk-rs/gir-files .
2021-04-01 15:53:23 +02:00
Marijn Suijten
da0636a63c
gir-files: Remove in favour of split ./gir-files and ./gst-gir-files
...
gir-files will be readded as a proper submodule from
https://github.com/gtk-rs/gir-files , and gst-gir-files as a submodule
from https://gitlab.freedesktop.org/gstreamer/gir-files-rs .
2021-04-01 15:53:23 +02:00
Marijn Suijten
a38561fbcd
Update gir and regenerate with redundant #[cfg]/#[cfg_attr] removed
...
Also ignores `clippy::upper_case_acronyms` introduced with 1.51 which
can't be adhered to in bindings.
2021-04-01 15:53:18 +02:00
Bilal Elmoussaoui
b83b8c8675
ci: link to external dependencies instead of building them for docs
2021-03-31 09:06:35 +02:00
Sebastian Dröge
d69f8793d5
ci: Update minimum supported Rust version to 1.51
...
Various dependencies require that now for const generics.
2021-03-27 14:23:25 +02:00
Sebastian Dröge
762450bb53
check: Add Harness::pull_until_eos()
2021-03-25 20:12:51 +02:00
Sebastian Dröge
d66394f7c4
ci: Allow clippy::upper_case_acronyms
...
That would otherwise change a lot of API in confusing ways, e.g. RTSP -> Rtsp
and would be inconsistent with the naming in C.
2021-03-25 17:43:54 +02:00
Sebastian Dröge
c51a645ee2
ci: Update to Rust 1.51
2021-03-25 17:43:10 +02:00
Sebastian Dröge
e7e629e6e6
ci: Update to meson 0.57.1
2021-03-25 17:43:04 +02:00
Marijn Suijten
89ba883ea8
audio/video: Do not link v1_20 ffi functions when building docs
...
The sys crates have not been generated with 1.20 introspected gir files
yet, and break the documentation that is already compiling with the
v1_20 feature. Function body contents don't truly matter for the
documentation build anyway.
2021-03-24 13:43:45 +01:00
Marijn Suijten
534dcf3110
gstreamer-controller: Update from rustdoc-stripper to lgpl_docs
...
This crate was added right around the same date the conversion to the
`lgpl_docs` crate took place in 801998c7
("Generate documentation from
the docs crate directly") and hence likely missed out.
Fixes: 4120ded4
("Add gstreamer-controller")
2021-03-24 13:43:45 +01:00
Marijn Suijten
75ba9eaf24
docs: Generate docs for gstreamer-controller
...
Docs generated using:
./gir/target/release/gir -m doc -c gstreamer-controller/Gir.toml -d gir-files -o unused
Followed by `mv gstreamer-controller/docs/gstreamer-controller docs/`.
The `-o` option is required but ignored in favour of a toml
`doc_target_path` config option.
2021-03-24 13:43:45 +01:00
Marijn Suijten
a0358ada40
ci: Always build-test the documentation (dox feature)
...
Quite a few issues slipped in over time because the docs are only
extended with `embed-lgpl-docs` and provided as artifact as part of a
manual action, that isn't clicked often.
2021-03-24 13:43:44 +01:00
Sebastian Dröge
fb01529f9f
gstreamer-net: Update for removed Option wrapping in gio
2021-03-18 18:25:25 +02:00
Marijn Suijten
f4553e3d01
player,webrtc: Remove flags file that is not generated anymore
...
Doing a clean run with all `auto` folders removed results in these files
not being regenerated; they are empty and unreferenced from lib.rs.
2021-03-15 21:09:59 +01:00
Marijn Suijten
f4ad451956
sdp: Use .ok() instead of manual match on Ok and Err
...
Using `.ok()` is more concise when loosing error context in favour of a
simple `None` value.
Automatic replacement SSR pattern in rust-analyzer:
{let $a = $b;match $c {Ok($d) => Some($e), Err(_) => None }} ==>> {$b.ok()}
Note that rust-analyzer does not support:
- duplicate labels (ie. $c should be equal to $a, and $e equal to $d);
- statement lists yet, hence both sides are wrapped in braces.
But it performs the desired operation well enough here.
2021-03-15 21:07:17 +01:00
Sebastian Dröge
15505cc5b8
Re-export interface ImplExt traits from the preludes
2021-03-14 14:06:30 +02:00
Sebastian Dröge
27385104d8
Update for glib interface API changes
2021-03-14 10:45:52 +02:00
Sebastian Dröge
5cf6cd2e1d
webrtc: Expose the v1_14_1 feature that enables the WebRTCFECType
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/317
2021-03-13 11:43:19 +02:00
Sebastian Dröge
4804da1273
gstreamer-base/basesrc: Use the correct pointer for retrieving the allocated buffer in BaseSrc::alloc
2021-03-09 18:06:06 +02: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
6fa48890bc
Update for the subclassing glib bindings API changes
2021-03-09 16:04:32 +02:00
Sebastian Dröge
bcec97373f
gstreamer: Update to num-rational 0.4
2021-03-09 11:17:53 +02:00
Sebastian Dröge
0b61713398
gstreamer/uri_handler: Update for glib bindings API changes
2021-03-09 11:17:15 +02:00
Sebastian Dröge
a311591310
Regenerate with latest gir
2021-03-08 12:25:37 +02:00
Sebastian Dröge
f059d75d48
Update gir
2021-03-08 12:23:27 +02:00
Sebastian Dröge
0803dd411e
Update for glib subclass API cleanup
2021-03-08 12:18:24 +02:00
Sebastian Dröge
b8c20c07ce
Update for new #[glib::object_subclass] attribute macro
2021-03-07 13:08:06 +02:00
Marijn Suijten
c58f2b09d2
gl/sys/gir: New buffer/memory get_type functions are only in 1.20
...
G-IR cannot read or represent `Since:` annotations on get_type()-like
functions, despite these being available in the source. This adds the
type requirements manually following its implementation in [1],
considering it will not be backported to 1.18.x [2]. If `get_type` is
used in manual bindings after 1.20 releases this version requirement is
easily caught.
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/999
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1010
2021-03-02 10:20:11 +01:00
Sebastian Dröge
932b8f813d
gstreamer/pad: Add support for removing pad probes from the probe callback
...
While this allows to remove the pad probe multiple times, which would
cause a g_warning(), this is not actually making the situation worse
than before while making some code patterns easier to implement:
- Probes could already be removed twice by return
gst::PadProbeReturn::Remove and then calling pad.remove_probe()
- Probes could be removed from a different pad than where they were
added
As such let's go with the simple solution here for now and allow giving
owned access to the probe id from the probe callback.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/286
2021-02-28 19:08:59 +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
5822785191
Regenerate with latest gir
2021-02-28 18:30:54 +02:00
Sebastian Dröge
6d6438b179
Update gir
2021-02-28 18:27:43 +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
efb249f7b9
tutorials: Change from set_property_with_value() to set_property_from_value()
2021-02-23 12:11:48 +02:00
Sebastian Dröge
06e0555555
app: Don't statically declare that appsrc/appsink inherit from basesrc/basesink
...
Otherwise the API of the base classes will be directly available and can
cause confusion (e.g. gst_base_src_set_format() vs. the "format"
property).
All base class API should be considered "protected" from an application
point of view and only be called by the subclass itself.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/872
2021-02-22 20:03:30 +02: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
2b0b3910ee
Regenerate everything with latest gir
2021-02-22 17:13:45 +02:00
Sebastian Dröge
7160e94042
Update gir
2021-02-22 17:12:56 +02:00
Sebastian Dröge
0ea48e9894
gstreamer-video: Add support for VideoOrientation interface and VideoOrientationMethod enum
2021-02-19 18:42:38 +02:00
Jan Alexander Steffens (heftig)
59d91b2abf
gstreamer/plugin_feature: Make load downcast to Self
...
The loaded plugin feature is always of the same type as the unloaded
one. Move `fn load` to PluginFeatureExtManual to implement this.
2021-02-19 11:23:56 +00:00
Sebastian Dröge
d746bf91e1
gstreamer: Provide better bindings for ElementFactoryListType
...
Make it an actual bitflags type instead of just an u64 alias and add all
the constants. As it's not defined as bitflags in C this needs to be
done manually.
2021-02-19 12:56:54 +02:00
Marijn Suijten
ce67076f26
gstreamer,video: Do not zero-initialize designated struct members
...
This should be analogous to C struct initalizers where all unspecified
fields are initialized to zero. Without mut this reads a bit nicer as
well.
Note that two out of three structs have all members specified, hence
need no zero-initialization of the remainder at all.
2021-02-15 20:19:38 +01:00
Marijn Suijten
89c7883202
gstreamer: Automatically generate Allocator::alloc
...
Parameter mutability has been fixed (and reverted, hence overridden with
const=true)for this function in gstreamer; it can now be automatically
generated.
2021-02-15 20:19:38 +01:00
Marijn Suijten
6b94083a07
gstreamer/allocation_params: Implement to_glib_none
...
This is needed by the now-autogenerated implementation of
Allocator::alloc, and later on the GL bindings.
2021-02-15 20:19:38 +01:00
Marijn Suijten
439db15c20
Regenerate with 1.18.3 and preliminary changes for 1.18.4
2021-02-15 20:19:38 +01:00
Marijn Suijten
3b4bdb85f9
gir-files: Import from preliminary gstreamer-base 1.18.4 at 7b1fc3ea
2021-02-15 20:19:38 +01:00
Marijn Suijten
cedc8bf543
gir-files: Import from preliminary gstreamer 1.18.4 at 41999d97
2021-02-15 20:19:38 +01:00
Sebastian Dröge
5f5218e1ab
Update CHANGELOG.md for 0.16.7
2021-02-13 14:04:37 +02:00
Vivia Nikolaidou
435c6ae5b0
audio/audio_converter: mix-matrix contains floats, not doubles
2021-02-12 13:49:25 +02:00
Sebastian Dröge
dbd2911fbc
deny: Update
2021-02-12 09:52:27 +02:00
Sebastian Dröge
6487380021
Regenerate gstreamer-gl-{egl,wayland,x11} sys Cargo.toml
...
They were forgotten to be included in the previous commit.
2021-02-12 09:44:04 +02:00
Sebastian Dröge
8d685a77c2
examples/glupload: Get rid of unnecessary Result-wrapping
2021-02-11 19:32:04 +02:00
Sebastian Dröge
e20ab8d80c
ci: Update to Rust 1.50 and meson 0.56.2
2021-02-11 17:36:40 +02:00
Sebastian Dröge
3d076c05e1
Regenerate with gir to update system-deps dependency and get rid of clippy warning in the ABI tests
2021-02-10 13:11:49 +02:00
Sebastian Dröge
ad468e676e
Update gir
2021-02-10 13:11:49 +02:00
Sebastian Dröge
5da6e82b5e
gstreamer/datetime: Silence new 1.50 clippy warning
2021-02-10 13:09:51 +02:00
Sebastian Dröge
631be6b534
video/timecode: Fix compilation of tests with target API < 1.16
2021-02-10 13:09:51 +02:00
Sebastian Dröge
faa6463bda
gstreamer/clock: Move away from deprecated atomic API
2021-02-10 13:09:51 +02:00
Jan Alexander Steffens (heftig)
a8eca0edb8
audio: Make AudioConverterConfig::set_mix_matrix generic
...
So that we can set the mix matrix using both `&[&[f64]]` and
`&[Vec<f64>]`.
2021-02-10 11:41:31 +01:00
Vivia Nikolaidou
219a14550c
audio/audio_converter: Fix typo
2021-02-09 20:54:42 +02:00
Vivia Nikolaidou
0a119cada6
gstreamer-audio: Add AudioConverterConfig
2021-02-09 19:13:30 +02:00
Sebastian Dröge
3c0281db0c
gstreamer/uri_handler: Update for glib class data API changes
...
Based on a patch by Bilal Elmoussaoui
2021-02-07 17:40:45 +02:00
Sebastian Dröge
9d86cef2da
Regenerate everything with latest gir
2021-02-07 17:07:17 +02:00
Sebastian Dröge
31b68201a5
Update gir submodules
2021-02-07 17:05:39 +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
280433ebc1
video/timecode: Comment out spurious #[cfg] attribute and remove its duplicate
2021-02-04 11:19:54 +02:00
Sebastian Dröge
e1a964fb00
video/timecode: Use mem::ManuallyDrop to prevent a double unref of the daily jam
...
As ffi::GstVideoTimeCode implements Copy, assignments don't move it out
of the passed in value but just copy it. This doesn't increase the
reference count of the daily jam, still runs the Drop impl of the passed
in value to decrease the daily jam and then causes a second unref of it
later when the returned value is dropped.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/310
2021-02-04 10:55:43 +02:00
Sebastian Dröge
32a96dd72c
gstreamer/log: Handle compiled out GStreamer debug system properly
...
By mirroring the no-op behaviour of the C code instead of failing
because of a NULL debug category.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/306
2021-01-31 12:25:48 +02:00
Sebastian Dröge
86cc982982
examples: Check for cairo::Context::{save,restore}() failing
2021-01-31 11:01:47 +02:00
Marijn Suijten
fb55cdfeff
Remove allow(unused_imports)
from mod auto
...
gir has been fixed to omit all unnecessary imports from objects, enums
and flags which currently are the only offenders of this linter warning.
Hence disallow this warning from now on which is anyway not applied to
every crate - like gstreamer-gl - where such issues have been uncovered.
2021-01-30 15:49:49 +01:00
Marijn Suijten
1ffa02fc1f
Update gir to c85699a with import cleanups; regenerate
...
Apply import cleanups from https://github.com/gtk-rs/gir/pull/1043 ,
omitting `use` statements where unnecessary or guarding them with
versioning constraints to prevent `unused_imports` warnings.
Removes unnecessary `mut_override` with
https://github.com/gtk-rs/gir/pull/1044 as well.
2021-01-30 15:49:38 +01:00
Jan Alexander Steffens (heftig)
796f93f7f4
gstreamer/clock_time: Improve Display formatting
...
- Add support for precision, padding and alignment.
- Format the invalid time using dashes (`--:--:--.---------`) instead of
a technically valid `99:99:99.999999999`
The latter is something C's `GST_TIME_FORMAT` can't do, though something
obviously invalid like `-1👎 -1.000000000` would be possible.
2021-01-29 16:31:07 +00:00
Sebastian Dröge
0d5a488b86
examples: Remove two now-unused imports
2021-01-29 10:18:10 +02:00
Guillaume Desmottes
68253e1c28
ci: run 'pages' job with nightly image
...
We need nightly to generate the doc.
2021-01-27 18:55:03 +02:00
Sebastian Dröge
4bfa11aec5
gstreamer: Properly enable the serde/derive feature and remove the corresponding dependency
...
It was coincidentally enabled during the normal builds via the
dev-dependencies but it would fail otherwise.
2021-01-27 18:54:09 +02:00
Sebastian Dröge
0e8b95f1d0
urihandler: Provide URIType as associated constant when implementing the gst::URIHandler interface
...
The supported protocols still stay a function because they might have to
be probed at runtime, but they return a static string array now as they
must not randomly change at runtime.
2021-01-25 13:56:55 +02:00
Sebastian Dröge
ea0eb4fa70
gstreamer/paramspecs: Add bindings for GST_PARAM_CONTROLLABLE and related custom paramspec flags
2021-01-25 13:56:55 +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
Guillaume Desmottes
beee75dabe
ci: make coverage job manual
...
It's broken atm, likely because of https://github.com/mozilla/grcov/issues/555
2021-01-22 09:09:41 +01:00
Jonas Platte
72f191b79b
Use std::future::ready instead of futures_util::future::ready
2021-01-19 13:33:11 +01:00
Sebastian Dröge
927cca106d
Use async/await in a few places and reduce dependencies as a result
2021-01-14 15:25:03 +02:00
Guillaume Desmottes
01e1cfce54
ci: add coverage job
...
Uses the new llvm source-base coverage from nightly to generate coverage
reports:
- full html report as artifact
- cobertura report for gitlab MR integration
- output coverage summary for gitlab parsing
Here is the regexp to set in gitlab as "Test coverage parsing":
\s*lines\.*:\s*([\d\.]+%)
Ignore sys crates when calculating coverage are those are fully
generated anyway.
Resources:
- https://github.com/marco-c/rust-code-coverage-sample
- https://github.com/mozilla/grcov/issues/468#issuecomment-691615245
- https://www.greycastle.se/how-to-show-flutter-test-coverage-in-gitlab-ci/
2021-01-11 15:41:21 +01:00
Zeeshan Ali
4a92966ed5
Add get_current_state & get_pending_state to ElementExtManual
...
Convenient API to simply get the current or pending state of the
element.
2021-01-10 08:52:28 +00:00
Guillaume Gomez
a3f6f710a9
tutorials/basic-tutorial-13: Add "\r" at each println to fix the raw terminal display
2021-01-09 16:08:06 +01:00
Sebastian Dröge
89acc11e2c
deny: Update
2021-01-09 12:50:46 +02:00
Sebastian Dröge
835273923e
Update itertools to 0.10
2021-01-09 12:49:32 +02:00
Guillaume Gomez
2fcaaa53ce
Add basic tutorial 13 from C gstreamer examples
2021-01-08 15:49:30 +01:00
Marijn Suijten
c4a06e515b
gstreamer/format,value: Skip init in functions that contain self
...
These functions were changed to return Self instead of the direct name
of the type, and are hence caught by the init checker.
Also remove some tabs that sit in the macro but are not cleaned up by
the formatter.
2021-01-08 11:50:31 +01:00
Marijn Suijten
4cb6b64e2d
gstreamer/format,value: Use Self in more places
2021-01-08 11:49:46 +01:00
Marijn Suijten
9890803cc6
gstreamer: Fix clippy::from_over_into
2021-01-08 11:43:14 +01:00
Marijn Suijten
46cb1595c0
gstreamer/tags: Fix redundant_semicolons lint warning
2021-01-08 11:01:02 +01:00
Marijn Suijten
9dc110be07
gitlab-ci: Do not ignore un-violated clippy lints
...
redundant_pattern_matching does not seem to exist (perhaps renamed to
if_let_redundant_pattern_matching), and single_match + cast_lossless do
not seem to be violated (anymore?).
2021-01-08 11:01:02 +01:00
Marijn Suijten
7ed20090d1
Fix clippy::field_reassign_with_defaults instead of ignoring it
...
Fixes: fc2d7fc4
("ci: Add some more ignored lints to the clippy configuration")
2021-01-08 11:01:02 +01:00
Marijn Suijten
14f7707b51
sdp/sdp_media: Add missing failure check for gst_sdp_media_copy
2021-01-08 10:41:06 +01:00
Marijn Suijten
3c610e12e5
gst,base,sdp: Use specific copy/free or (un)ref instead of g_boxed
...
SDPMessage, FlowCombiner and ParseContext have specific functions
available to perform copying, freeing and (un)ref'ing. Calling them
directly on versions where they are supported prevents us from going
through GType machinery and locks that end up the same functions in the
end.
2021-01-08 10:41:06 +01:00
Marijn Suijten
29326ebfdd
GES: Regenerate with new gir-files from 1.18.2 at d55d1f5c
2021-01-05 03:01:56 +01:00
Marijn Suijten
b273c4e8bf
gir-files: Re-run fix.sh on freshly imported files
...
Rerunning it on existing files doesn't perform all whitespace cleanup
when nodes are not modified.
2021-01-05 03:01:56 +01:00
Marijn Suijten
27ff7b74eb
gir-files/fix: Do not unnecessarily preserve whitespace
...
When deleting elements -P/--pf preserves whitespace in front of the
elements, creating tons of unnecessary trailing whitespace on
otherwise-empty lines.
2021-01-05 03:01:56 +01:00
Marijn Suijten
3f50ef7a92
gir-files: Import from gst-plugins-base 1.18.2 at 520354711
2021-01-05 03:01:56 +01:00
Marijn Suijten
9023ce0a94
gir-files: Import from gir-files at 824aa87
2021-01-05 03:01:56 +01:00
Marijn Suijten
f10d6990e4
gir-files: Import from gstreamer 1.18.2 at 6a62351b8
2021-01-05 03:01:56 +01:00
Marijn Suijten
ab2bbd6aca
gir-files: Import from gstreamer-editing-services 1.18.2 at d55d1f5c
2021-01-05 03:01:47 +01:00
Sebastian Dröge
fc2d7fc4d0
ci: Add some more ignored lints to the clippy configuration
2020-12-31 16:54:33 +02:00
Sebastian Dröge
2376f53fd4
ci: Update to Rust 1.49
...
Minimum supported version is still 1.48
2020-12-31 16:54:16 +02:00
Sebastian Dröge
d84336dc12
tutorials/basic-tutorial-5: Don't unnecessarily cast float literals to f64
...
error: casting float literal to `f64` is unnecessary
--> tutorials/src/bin/basic-tutorial-5.rs:141:13
|
141 | 1.0 as f64,
| ^^^^^^^^^^ help: try: `1.0_f64`
|
2020-12-29 16:56:13 +02:00
Sebastian Dröge
59397c84be
sdp: Use an actual error type instead of ()
...
Fixes a new clippy warning.
2020-12-29 16:55:45 +02:00
Sebastian Dröge
1523382b18
player: PlayerVideoRenderer::create_sink_element() is transfer none
2020-12-26 11:42:45 +02:00
Sebastian Dröge
71a3354226
player: Re-export dependency subclass preludes
2020-12-26 11:34:14 +02:00
Bilal Elmoussaoui
01b16fe6c0
gst-player: add PlayerVideoRenderer subclassing support
2020-12-25 00:32:37 +01:00
Sebastian Dröge
ec2a287842
gstreamer/datetime: Update for glib::DateTime API changes
2020-12-24 12:46:27 +02:00
Guillaume Gomez
60a5ccc95d
Fix toml files indent
2020-12-23 14:38:33 +01:00
Sebastian Dröge
03f928ee0c
gstreamer/serde: Update for glib::Date API changes
2020-12-23 10:31:49 +02:00
Sebastian Dröge
3428e5c0c7
Update CHANGELOG.md for 0.16.6
2020-12-20 20:50:51 +02:00
Sebastian Dröge
477b00cce8
Update CHANGELOG.md for 0.16.5
2020-12-20 20:50:48 +02:00
Sebastian Dröge
68839c0e79
Re-export all dependency crates and their preludes
...
This makes code in examples potentially simpler.
2020-12-20 19:40:34 +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
08c54145d3
gstreamer/sdp: Fix SDPMessage::medias_mut() iterator
...
The raw pointer manipulation code was adding one indirection too many.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/304
2020-12-20 19:21:20 +02:00
Marijn Suijten
8549046994
CI: Test v1_18 feature of egl/wayland/x11 crates
...
In 55badab1
versioning features were added to these crates after all
(even though they are not used in the actual code, merely to forward the
feature flag to dependencies like `gst` and `gst-gl`). They were omitted
at first and have these special cases in the CI, but those are not
necessary anymore.
Fixes: b2f3363c
("CI: Update to restructured GL EGL/Wayland/X11 layout")
2020-12-19 14:15:27 +00:00
Marijn Suijten
62436aa8d3
video/time_code_interval: Correct set_frames parameter name
...
Aesthetics.
2020-12-19 12:54:37 +01:00
Marijn Suijten
6e119b7256
video/time_code_interval: Ord cmp minutes to other.minutes, not hours
...
Same mistake as the previous commit. Clipppy didn't find this one though
:)
2020-12-19 12:54:21 +01:00
Marijn Suijten
5740a70dd2
video/time_code_interval: Do not compare minutes to hours in PartialEq
...
Clippy nightly is becoming surprisingly smart these days:
warning: This sequence of operators looks suspiciously like a bug.
--> gstreamer-video/src/video_time_code_interval.rs:66:16
|
66 | && self.0.minutes == other.0.hours
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: I think you meant: `self.0.minutes == other.0.minutes`
|
= note: `#[warn(clippy::suspicious_operation_groupings)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_operation_groupings
2020-12-19 12:51:58 +01:00
François Laignel
87446d4d8e
ClockTime: const for zero & none constructors
2020-12-18 18:00:47 +01:00
François Laignel
a216f85abf
ClockTime: use matches! now that MSRV allows it
2020-12-18 18:00:35 +01:00
Guillaume Gomez
2f0e386037
Regen with more doc alias for enums and consts
2020-12-18 15:23:05 +01:00
Guillaume Gomez
8ff1a78dfc
Update gir submodule
2020-12-18 14:55:32 +01:00
Sebastian Dröge
ce1148b474
Update everything for glib macro renamings
2020-12-18 00:56:47 +02:00
Sebastian Dröge
d0b0006d27
Regenerate
2020-12-18 00:34:53 +02:00
Sebastian Dröge
27dc5b40ce
Update gir
2020-12-18 00:34:04 +02:00
Sebastian Dröge
f3b5340875
Update for new simplified glib::Object::new() API
2020-12-17 17:43:17 +02:00
Fernando Jiménez Moreno
dfa3812ccc
Playback tutorial 4: Progressive streaming
2020-12-16 11:10:51 +00:00
Sebastian Dröge
38b94abc59
Add COPYRIGHT file as links into all crates and change LICENSE files to links too
2020-12-16 12:49:49 +02:00
Sebastian Dröge
3b165b070d
Add a COPYRIGHT file that describes the general copyright and license situation
...
This follows the general approach of the Rust project.
2020-12-16 12:42:33 +02:00
Guillaume Gomez
ff5a36561a
Fix license header situation
2020-12-15 11:53:31 +01:00
François Laignel
0dce894b13
gstreamer/message: 2d attempt at printing src for Debug impl
...
1st attempt in c987bb0c
was reverted by 89c4f68f
due to
clippy "redundant clone" warning.
2020-12-13 19:44:34 +01:00
Marijn Suijten
85e46f39f3
video: Provide manual to_string and display for VideoChromaSite
...
This function was named wrong before 1.20, and its return transfer type
changed from none to full. To provide
Note that, when 1.20 Gir files are imported, this `version` override in
gstreamer-video/Gir.toml wil come into effect and create a Display trait
for us (without version constraint). At that point the manual Display
impl should be removed, but the manual to_string implementation remains.
2020-12-12 20:28:37 +01:00
Marijn Suijten
a215610167
audio/video: Update to v1.20 functions
2020-12-12 19:43:02 +01:00
Marijn Suijten
132477f51f
cargo.toml: Add v1_20 feature to all crates
2020-12-12 13:17:20 +01:00
Marijn Suijten
0ff16c589f
Regenerate sys Cargo.toml with 1.20 version
2020-12-12 13:17:03 +01:00
Marijn Suijten
bc5b44ddad
gstreamer: new_from_g_date_time only returns NULL if arg is NULL
2020-12-12 13:15:11 +01:00
Marijn Suijten
1d726d6a1e
gir.toml: Add 1.20 to extra_versions
2020-12-12 13:15:11 +01:00
Guillaume Gomez
fb56af8d84
Update from_glib calls and put them in unsafe blocks
2020-12-08 15:50:15 +01:00
Guillaume Gomez
959568f124
regen
2020-12-08 14:00:17 +01:00
Guillaume Gomez
9424eabd9a
Update gir submodule
2020-12-08 13:59:07 +01:00
Marijn Suijten
bb8e7c3e8f
audio/video: Fix more unused imports
...
TODO: How about use glib::translate::*;?
2020-12-07 12:12:16 +01:00
Marijn Suijten
82b4726bb7
impl FromStr: Forward implementation to autogenerated from_string()
2020-12-07 12:12:16 +01:00
Marijn Suijten
a7348023a0
video: Add test cases for enum to_string
2020-12-07 12:12:16 +01:00
Marijn Suijten
040772ab61
audio,video: Manual enum to_string returns 'static; add NULL check
2020-12-07 12:12:16 +01:00
Marijn Suijten
9ff39bae6f
audio,video: Use autogenerated Display impl
2020-12-07 12:12:16 +01:00
Marijn Suijten
c215acb7f9
audio,video: Delete manual implementations for now-autogenerated enum funcs
2020-12-07 12:12:16 +01:00
Marijn Suijten
15d8774e6b
Update gir to 1c1a8d7 and regenerate with associated enum/flag functions
2020-12-07 12:11:27 +01:00
Marijn Suijten
01ae47c90c
gstreamer: Manually implement StateChange::get_name on < v1_14
...
By setting the version to 1.8 and using `manual = true` an unconditional
trait implementation calling get_name is generated, while the
autogenerated version is omitted.
2020-12-07 12:09:39 +01:00
Marijn Suijten
1b1a99b320
audio,video: Use manual implementations for fns using *Endianness
...
{Audio,Video}Endianness is an enumeration to represent the two possible
values in Rust but this enumeration does not exist as such in C, where
it is merely an integer with some constants defining possible values.
2020-12-07 12:09:39 +01:00
Marijn Suijten
d7bc916dfa
ges: Mark fn name functions as not nullable to generate Display trait
2020-12-07 12:09:39 +01:00
Marijn Suijten
604902ed7c
audio,video: Ignore *Format::get_info
...
The result is not nullable, and this function call can be substituted by
*FormatInfo::from_format().
2020-12-07 12:09:39 +01:00
Marijn Suijten
18d6823dd8
gstreamer: Ignore Gst.Format::register; needs manual implementation
2020-12-07 12:09:39 +01:00
Marijn Suijten
c4e82ce7b9
gstreamer: Add EventTypeFlags to autogenerated
2020-12-07 12:09:39 +01:00
Marijn Suijten
8a309b39f2
gstreamer: Add Glib.Quark to manual list and sort
2020-12-07 12:09:39 +01:00
Marijn Suijten
f260fa4f8d
gstreamer/event: Use autogenerated EventType::get_name
2020-12-07 12:09:39 +01:00
Marijn Suijten
c95bd4f47a
video: Implement get_kr_kb manually to fix capitalization
...
Capitalization is wrong in function and parameter/variable names:
warning: method `get_Kr_Kb` should have a snake case name
--> gstreamer-video/src/auto/enums.rs:515:12
|
515 | pub fn get_Kr_Kb(&self) -> Option<(f64, f64)> {
| ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_kr_kb`
|
= note: `#[warn(non_snake_case)]` on by default
warning: variable `Kr` should have a snake case name
--> gstreamer-video/src/auto/enums.rs:518:21
|
518 | let mut Kr = mem::MaybeUninit::uninit();
| ^^ help: convert the identifier to snake case (notice the capitalization): `kr`
warning: variable `Kb` should have a snake case name
--> gstreamer-video/src/auto/enums.rs:519:21
|
519 | let mut Kb = mem::MaybeUninit::uninit();
| ^^ help: convert the identifier to snake case (notice the capitalization): `kb`
warning: variable `Kr` should have a snake case name
--> gstreamer-video/src/auto/enums.rs:525:17
|
525 | let Kr = Kr.assume_init();
| ^^ help: convert the identifier to snake case (notice the capitalization): `kr`
warning: variable `Kb` should have a snake case name
--> gstreamer-video/src/auto/enums.rs:526:17
|
526 | let Kb = Kb.assume_init();
| ^^ help: convert the identifier to snake case (notice the capitalization): `kb`
2020-12-07 12:09:39 +01:00
Marijn Suijten
12c74d681b
audio: Disable fn fill_silence with broken glib translation
...
This function is already manually defined in AudioFormatInfo and
shouldn't reside under AudioFormat.
2020-12-07 12:09:39 +01:00
Marijn Suijten
736f58a631
audio,video: Mark to_string functions on "unknown"-enum as manual
2020-12-07 12:09:39 +01:00
Marijn Suijten
57bc1c7f42
audio,video,gl,webrtc: Mark manually-confirmed to_string fns as non-NULL
...
These functions have been checked to never return NULL. The overrides
can hopefully be gone again when C contains better annotations and
trust_return_value_nullability is enabled.
2020-12-07 12:09:39 +01:00
Marijn Suijten
d9769aeb6a
audio/video: Add missing FromGlibPtrNone<*const> for FormatInfo
2020-12-07 12:09:39 +01:00
Marijn Suijten
0763d2645d
video: Reuse Self::Err in from_str
2020-12-07 12:09:39 +01:00
Marijn Suijten
2447664df6
Replace Result<(), fmt::Error> with fmt::Result
2020-12-07 12:09:39 +01:00
Marijn Suijten
9f0befa033
gstreamer: macro_use is for use
statements, not macro calls
2020-12-07 12:09:39 +01:00
Sebastian Dröge
f6700f1ff1
gstreamer-base/adapter: Replace various error cases with Rust assertions
...
These are assertions on the C side too and are programmer errors, not
something that can be handled gracefully.
2020-12-07 10:48:28 +02:00
Sebastian Dröge
1199e89dca
gstreamer-base/adapter: Add error checking at the bindings level
...
Instead of running into (inconsistent even) assertions inside the C
code.
Also don't return uninitialized data and signed offsets from the
masked_scan() functions.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/298
2020-12-06 20:11:18 +02:00
Sebastian Dröge
15722ec5d2
gstreamer/datetime: Check invariants on the bindings side instead of asserting in the C code
...
Newer versions of GStreamer (1.20 and above) will not assert any longer
but handle it more gracefully, so let's do the same here for all
versions.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/297
2020-12-06 19:23:32 +02:00
Marijn Suijten
584a87163f
video/video_meta: get_plane_size now takes a size-annotated array ptr
2020-12-04 19:37:10 +01:00
Marijn Suijten
5afca49a7b
gstreamer: Propagate nullability changes into manual code
2020-12-04 19:37:07 +01:00
Marijn Suijten
88321a4d61
Gir.toml: Remove unnecessary non-nullable return annotations
2020-12-04 19:37:07 +01:00
Marijn Suijten
92df13eeb1
Regenerate with trusted nullability
2020-12-04 19:37:06 +01:00
Marijn Suijten
ceeaf97793
gst,base,check,net: Trust return value nullability
2020-12-04 19:36:22 +01:00
Marijn Suijten
47102b0e76
Regenerate with fresh gir files
2020-12-04 19:34:09 +01:00
Marijn Suijten
217dfdff10
gir-files: Import from gstreamer-bad 1.18.~2 at 2f2e8a93
2020-12-04 19:34:09 +01:00
Marijn Suijten
1c22ab66ee
gir-files: Import from gstreamer-base 1.18.~2 at ee38a96c8
2020-12-04 19:34:09 +01:00
Marijn Suijten
59a4f06d17
gir-files: Import from gstreamer 1.18.~2 at 865cfb8ea
...
Includes fixed null annotations
2020-12-04 19:34:07 +01:00
Marijn Suijten
275425ae9f
gir-files: Import from gstreamer-bad 1.18.1 at e5c3c106a
2020-12-03 19:38:26 +01:00
Marijn Suijten
5744d33ec7
gir-files: Import from gstreamer 1.18.1 at 29a8099d1
...
This complements an earlier import for gstreamer-base 1.18.1.
2020-12-03 19:38:26 +01:00
Guillaume Desmottes
8b9ef8b109
video: add alignment API to VideoMeta
2020-12-03 16:39:40 +01:00
Guillaume Desmottes
c529d4d4ae
video: add VideoInfo::align_full()
2020-12-03 16:39:40 +01:00
Guillaume Desmottes
e404d4f213
video: VideoInfo::align(): return a Result
2020-12-03 16:39:40 +01:00
Guillaume Desmottes
7cc57f4164
video: implement Eq and PartialEq on VideoAlignment
2020-12-03 16:39:35 +01:00
Guillaume Desmottes
6fbe7a1739
video: add VideoMeta::get_plane_{height,size}
...
Fix #299
2020-12-03 12:15:51 +01:00
Sebastian Dröge
dd23ac7093
gstreamer-gl: Fix/extend cargo metadata and add README.md for new EGL/Wayland/X11 sub-crates
2020-11-29 11:42:24 +02:00
Marijn Suijten
506c19dab4
gl/egl,x11/sys: Regenerate with sys crate rename
...
Fixes: 4cc57723
("gl: Regenerate with separate EGL/Wayland/X11 -sys crates")
2020-11-28 11:55:27 +01:00
Marijn Suijten
f754860e32
gl/EGL,X11/sys: Split gl and egl,x11 with a hyphen
...
to_snake detects GLEGL and GLX11 as one word (contrary to GLWayland),
leading to no hyphen or underscore separating the two.
Fixes: 4cc57723
("gl: Regenerate with separate EGL/Wayland/X11 -sys crates")
2020-11-28 11:54:42 +01:00
Marijn Suijten
3cda842052
gl/-sys/Cargo: Only use EGL/Wayland/X11 library from v1.18 onwards
2020-11-28 11:15:22 +01:00
Marijn Suijten
22b0644579
gl: Regenerate with renamed EGL/Wayland/X11 crates
2020-11-28 11:15:22 +01:00
Marijn Suijten
d7dcf5ebcb
gl: Rename EGL/Wayland/X11 crates from gst- to gstreamer-
2020-11-28 11:15:22 +01:00
Marijn Suijten
6fe1b26a10
CI: Gir_*.toml files have moved to <crate>/Gir.toml
...
See f657a56947
2020-11-28 11:15:22 +01:00
Marijn Suijten
b2f3363c8c
CI: Update to restructured GL EGL/Wayland/X11 layout
2020-11-28 11:15:22 +01:00
Marijn Suijten
1d3a522afb
gl/manual: Remove moved GST_GL_DISPLAY_EGL_NAME
2020-11-28 11:15:22 +01:00
Marijn Suijten
2ddec80b78
gl/-sys/Cargo: Remove link; fix dependency paths
2020-11-28 11:15:22 +01:00
Marijn Suijten
4cc5772361
gl: Regenerate with separate EGL/Wayland/X11 -sys crates
...
This moves the X11, EGL and Wayland parts of the GL bindings to separate
crates.
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
2020-11-28 11:15:22 +01:00
Marijn Suijten
efec7d4e31
gl: Move EGL/Wayland/X11 manual impls to their own module
...
And use the new -sys crates.
2020-11-28 11:15:22 +01:00
Marijn Suijten
75bcc8402d
example/glupload: Update to separated GL windowing crates
2020-11-28 11:15:22 +01:00
Marijn Suijten
55badab13d
gl: Add X11/EGL/Wayland API back based on separate -sys crates
...
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
2020-11-28 11:15:22 +01:00
Marijn Suijten
f66727297a
Import gir-files from 1.18.1: minor annotation fixes
2020-11-28 11:08:10 +01:00
Marijn Suijten
e5dbd137bf
Import gir-files from 1.18.0 with GL separated per API
2020-11-28 11:08:10 +01:00
Marijn Suijten
5b520d7c47
gir-files/fix: Update paths for GL EGL/Wayland/X11 gir files
2020-11-28 11:08:10 +01:00
Marijn Suijten
9577965782
sys/Gir.toml: Drop default target_path in current directory
2020-11-28 11:07:48 +01:00
Marijn Suijten
a87cc4c3a3
cargo: Update ffi crate paths to direct "./sys" subdirectory
2020-11-28 11:05:51 +01:00
Sebastian Dröge
94b5184c99
ci: Update to rustup 1.23
2020-11-27 17:33:10 +02:00
Guillaume Gomez
1eba80c04b
Fix cargo files features
2020-11-27 14:48:11 +01:00
Guillaume Gomez
8f9d76bb8c
Revert "Remove unnecessary dox feature"
...
This reverts commit 9dd8bd9095
.
2020-11-27 14:37:49 +01:00
Guillaume Gomez
2d87561193
Revert "Remove unnecessary dox feature in cargo files"
...
This reverts commit 128b3b251e
.
2020-11-27 14:37:40 +01:00
Guillaume Gomez
7daac635c4
regen
2020-11-27 14:37:24 +01:00
Guillaume Gomez
d2591d0019
Update gir submodule
2020-11-27 14:35:47 +01:00
Marijn Suijten
c459ca8338
gir-files/fix: Autoamtically delete duplicate ONEFIELDs in GstVideo.gir
2020-11-25 22:44:18 +01:00
Marijn Suijten
e36f0b45a6
gir-files/fix: Normalize mixed indentation
2020-11-25 22:44:18 +01:00
Marijn Suijten
513cf47447
gstreamer/query: Fix clippy::single_match
2020-11-25 21:16:40 +01:00
Marijn Suijten
56c2b730f8
gstreamer/buffer: Fix clippy::needless_lifetimes
2020-11-25 21:16:40 +01:00
Marijn Suijten
b0b2b8d4ed
mpegts,tag: Remove unused gobject and gstreamer base dependencies
...
Silences these warnings:
warning: unused import: `gstreamer_base_sys as gst_base`
--> gstreamer-tag/sys/src/lib.rs:15:5
|
15 | use gstreamer_base_sys as gst_base;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `gobject_sys as gobject`
--> gstreamer-mpegts/sys/src/lib.rs:14:5
|
14 | use gobject_sys as gobject;
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
2020-11-25 21:16:40 +01:00
Marijn Suijten
6e6c5fd428
Fix clippy::unnecessary_wraps
2020-11-25 21:16:39 +01:00
Guillaume Gomez
128b3b251e
Remove unnecessary dox feature in cargo files
2020-11-25 16:02:51 +01:00
Guillaume Gomez
9dd8bd9095
Remove unnecessary dox feature
2020-11-25 15:54:02 +01:00
Guillaume Gomez
28438d245a
regen
2020-11-25 15:53:45 +01:00
Guillaume Gomez
2bd095f2f7
Update gir submodule
2020-11-25 15:51:37 +01:00
Marijn Suijten
9a96dd05b8
generator: Autoformat and normalize quotation with black
2020-11-24 20:20:18 +01:00
Guillaume Gomez
5b7c882497
Remove python2 code
2020-11-24 15:21:51 +01:00
Sebastian Dröge
de0ed0040a
Update generator.py from gtk-rs
2020-11-24 13:17:17 +02:00
Sebastian Dröge
7dc5a90b8a
Remove unneeded extern crate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
a240aeb902
Remove unused files
2020-11-22 19:15:21 +02:00
Sebastian Dröge
dd8ae99cc7
docs: Update to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
1b288add4c
examples: Fix build
2020-11-22 19:15:21 +02:00
Sebastian Dröge
8dd288f2b9
gstreamer-webrtc: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
4686b61d78
gstreamer-webrtc: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
1099955249
gstreamer-rtsp-server: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
1e9d3e717c
gstreamer-rtsp-server: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
0327e98b5f
gstreamer-rtsp: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
73193bad86
gstreamer-rtsp: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
e18cc55049
gstreamer-sdp: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
113c8fa055
gstreamer-sdp: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
db8b8be2dd
gstreamer-rtp: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
1ea6fac9f4
gstreamer-rtp: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
ddad791418
gstreamer-player: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
0b1dd5ecfc
gstreamer-player: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
e7d6167409
gstreamer-gl: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
01f5138e76
gstreamer-gl: Regenerate
2020-11-22 19:15:21 +02:00
Sebastian Dröge
3c8e798f73
ges: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
96782e8a8e
ges: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
0c17f32eee
gstreamer-pbutils: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
34656810ad
gstreamer-pbutils: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
d31badf9ac
gstreamer-video: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
4bd7f7af1a
gstreamer-video: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
ef135d46d8
gstreamer-net: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
a8325694f5
gstreamer-net: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
240285ec0f
gstreamer-check: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
2bb3385aaf
gstreamer-check: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
508fd2cde1
gstreamer-controller: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
34074ff0af
gstreamer-check: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
4a928136ed
gstreamer-audio: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
1e489ee1e2
gstreamer-audio: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
5a70dd1756
gstreamer-app: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
e7843d68d0
gstreamer-app: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
88a7c18746
gstreamer-base: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
80b4cb590e
gstreamer-base: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
9d9522016b
gstreamer: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Sebastian Dröge
b933931d6c
gstreamer: Regenerate
2020-11-22 19:15:20 +02:00
Sebastian Dröge
9889bc990a
sys: Update to Rust 2018
2020-11-22 19:15:20 +02:00
Sebastian Dröge
f88f9034b5
Update gir
2020-11-22 19:15:20 +02:00
Sebastian Dröge
4d52ab7d37
gstreamer: Fix plugin version for v1_18
2020-11-21 18:08:24 +02:00
François Laignel
75f6babb57
Event: impl structure_mut getter
2020-11-19 21:12:18 +01:00
Sebastian Dröge
89c4f68fa3
gstreamer: Remove redundant clone of element name
...
error: redundant clone
--> gstreamer/src/message.rs:162:63
|
162 | .field("src", &self.get_src().map(|s| s.get_name().to_owned()))
| ^^^^^^^^^^^ help: remove this
|
= note: `-D clippy::redundant-clone` implied by `-D warnings`
2020-11-19 20:30:51 +02:00
Sebastian Dröge
389fa306aa
Regenerate with latest gir
2020-11-19 19:53:22 +02:00
Sebastian Dröge
b84cead5ec
Update generator.py from gtk-rs
2020-11-19 19:51:59 +02:00
Sebastian Dröge
29d9f8c834
Update gir
2020-11-19 19:50:52 +02:00
Marijn Suijten
3129027b9d
CI: Do not enable all features in .cargo test sys
...
This solves build breakage when dox is enabled on non-nightly targets,
which uses the experimental doc_cfg feature.
2020-11-19 17:21:30 +01:00
Marijn Suijten
e88994a0b7
use cfg_if to refactor some #[cfg()] / #[cfg(not())] pairs
2020-11-19 16:39:31 +01:00
Marijn Suijten
aeb1b70581
Remove doc(cfg()) from expressions
...
warning: unused doc comment
--> gstreamer-video/src/video_info.rs:655:37
|
655 | #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
656 | / {
657 | | VideoInfoBuilder {
658 | | format,
659 | | width,
... |
674 | | }
675 | | }
| |_________- rustdoc does not generate documentation for expressions
Also simplify some blocks into expressions which are allowed to have
attributes as well since Rust 1.43.
2020-11-19 16:39:31 +01:00
Marijn Suijten
bd75778fcb
Add doc(cfg()) on all manual files
2020-11-19 16:39:31 +01:00
Marijn Suijten
9daa8d20a9
Regenerate with doc(cfg()) attribute on all symbols
...
This is enabled by a new version of gir, as updated in the previous
commit.
2020-11-19 16:39:31 +01:00
Marijn Suijten
2ce40e4973
gir: Update to 1ae96896 ( https://github.com/gtk-rs/gir/pull/994 )
...
This and earlier PRs enable generation doc(cfg()) attributes on symbols
to show cfg requirements directly in the documentation.
2020-11-19 16:39:31 +01:00
Marijn Suijten
2a169e0fdd
CI: Build docs on nightly for feature(doc_cfg)
...
The doc_cfg feature displays cfg requirements for a given symbol
directly in the documentation.
2020-11-19 16:39:31 +01:00
Marijn Suijten
3f373f623a
Enable feature(doc_cfg) in all lib.rs
...
The next version of gir is going to generate doc(cfg()) attributes on
many symbols to show feature-dependence hints. While autogenerated sys
crates get this attribute in their own (generated) lib.rs file the safe
wrapper crates do not have such an autogenerated lib.rs file.
2020-11-19 16:39:31 +01:00
Sebastian Dröge
7db21a3375
ci: Update stable/minimum support Rust version to 1.48
2020-11-19 16:43:02 +02:00
François Laignel
8aba0597e4
Pad: use Result<FlowSuccess, FlowError> for flow return type
2020-11-18 16:59:25 +01:00
François Laignel
755496d0f9
Pad: allow handling Events in PadProbes
2020-11-18 16:59:23 +01:00
François Laignel
9fb0c4937b
ProxyPad: impl ExtManual functions as trait functions, not associated functions
2020-11-17 16:35:31 +01:00
Sebastian Dröge
09f1a87dc9
video/timecode: Use stringify!($name) instead of "$name" in Debug impl
...
Otherwise it would output a literal "$name" string.
2020-11-16 13:21:57 +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
b861f724c4
gstreamer-video: Make virtual methods take wrapper of type, not parent
2020-11-14 19:39:27 +02:00
Sebastian Dröge
29c9bcf667
gstreamer-audio: 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
4eaf574cf8
gstreamer: 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
Guillaume Gomez
fec4e12410
Run cargo build on gir unless there was a git submodule update failure
2020-11-12 20:08:55 +01:00
François Laignel
ca96014c47
Use fully qualified path for plugin_desc in gst_plugin_define
...
This is required when gst_plugin_define is used from a a submodule
mod.rs (not from the crate's lib.rs).
2020-11-12 13:24:16 +01:00
Sebastian Dröge
be2f5c690b
examples/rtsp-server-subclass: Fix some clippy warnings
2020-11-12 10:20:31 +02:00
Sirius Wu
a7b0d42964
Check if LoggedObject really a GObject.
2020-11-09 17:33:52 +08:00
Sebastian Dröge
9379c730b9
gstreamer: Update for removal of ElementClass/DeviceProviderClass type aliases
2020-11-07 12:49:19 +02:00
Sebastian Dröge
f6ace04caf
Regenerate everything with latest gir
2020-11-07 12:17:25 +02:00
Sebastian Dröge
54e2ef5e4a
Update gir
2020-11-07 12:12:51 +02:00
François Laignel
5903496e5b
regenerate all
2020-11-05 18:29:47 +01:00
Sebastian Dröge
b91123d298
Simplify IsSubclassable::override_vfunc() implementations
2020-11-05 17:12:06 +00:00
Sebastian Dröge
99fbbc32cb
Use glib::Class instead of glib::object::Class
2020-11-05 17:12:06 +00:00
Jordan Petridis
3bab13b228
ci: move f.do_distro_{tag, exec} vars to the jobs
...
The gitlab parser will only expand the variables once,
which make it impossible to abstract over the rust
version in a nice way. A hacky workaround is to
duplicate some things and get rid of the RUST_VERSION
var to avoid the issue.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/618#note_679774
2020-11-05 16:55:29 +00:00
Sebastian Dröge
773d92f9f5
ci: Store stable and minimum supported Rust version (MSRV) in template variables
...
And don't make the actual version numbers part of the jobs.
2020-11-05 16:55:29 +00: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
027de84349
Update for class struct handling changes in the glib bindings
...
See https://github.com/gtk-rs/gtk-rs/pull/10
2020-11-05 16:41:48 +02:00
François Laignel
0dd9275b8f
gstreamer-webrtc: regenerate
2020-11-05 12:41:21 +01:00
François Laignel
ec220201e7
gstreamer-video: regenerate
2020-11-05 12:40:44 +01:00
François Laignel
4667c52f27
gstreamer-rtsp-server: regenerate
2020-11-05 12:40:09 +01:00
François Laignel
b673e679c4
gstreamer-player: regenerate
2020-11-05 12:39:23 +01:00
François Laignel
595ba7bb1b
gstreamer-pbutils: regenerate
2020-11-05 12:38:39 +01:00
François Laignel
1cd822c548
gstreamer-net: regenerate
2020-11-05 12:37:57 +01:00
François Laignel
9ddda41d4c
gstreamer-gl: regenerate
2020-11-05 12:37:25 +01:00
François Laignel
5d2fe6d069
gstreamer-base: regenerate
2020-11-05 12:36:47 +01:00
François Laignel
2c82e1b684
gstreamer-audio: regenerate
2020-11-05 12:36:15 +01:00
François Laignel
9403a0ab15
gstreamer-app: regenerate
2020-11-05 12:35:29 +01:00
François Laignel
60d48f838b
gstreamer: regenerate
2020-11-05 12:34:39 +01:00
François Laignel
9ec3100ee3
gir update
2020-11-05 12:25:21 +01:00
Sebastian Dröge
0b5cc2c83e
deny: Update with cfg-if
2020-11-02 10:21:31 +02:00
Sebastian Dröge
918a30a60b
ci: Disable gstreamer-gl-sys tests for now
...
This requires moving over to splitting the bindings between GL, EGL,
etc.
2020-11-01 10:26:33 +02:00
Sebastian Dröge
bdcb133fc2
ci: Run sys tests with --all-features and only build --all-features
...
They're fully additive so there's no point in building with default
features too.
For the non-sys bindings we might want to consider building with default
features though.
2020-11-01 10:09:57 +02:00
Sebastian Dröge
a3395062f1
ci: Build gstreamer from the 1.18 branch for now
...
git master has ABI changes in gst-plugins-bad.
2020-11-01 09:58:52 +02:00
Sebastian Dröge
b23fcd3904
ci: Update to meson 0.56.0
2020-11-01 09:58:52 +02:00
Sebastian Dröge
9c141a2fbf
ci: Explicitly select stable Rust version
...
And for now we stay at 1.46.0 because 1.47.0 has a bug that prevents
clippy from succeeding.
2020-11-01 09:58:52 +02:00
Sebastian Dröge
dd4dd364da
ci: Enable cargo's colors in more cases
2020-11-01 09:48:40 +02:00
Sebastian Dröge
67f5c0767a
Regenerate everything with latest gir
2020-11-01 09:48:40 +02:00
Sebastian Dröge
36291d738e
ci: Add GstController to the gir checks
2020-11-01 09:48:37 +02:00
Sebastian Dröge
4cd6e09f3d
Update documentation link of sys crates
2020-11-01 09:48:37 +02:00
Sebastian Dröge
f08bd7ef88
ci: Add CI tests for the sys crates
2020-11-01 09:48:35 +02:00
Sebastian Dröge
7cca791580
Only run non-sys checks on the CI if the crate actually exists
2020-11-01 09:48:35 +02:00
Sebastian Dröge
7ce39a050c
deny: Update deny.toml
2020-11-01 09:48:31 +02:00
Sebastian Dröge
ef120ce923
Update sys versions to 0.17.0
...
All crates have the same version now, which should cause less confusion
with matching them up.
2020-10-30 18:35:57 +02:00
Sebastian Dröge
c9ab2527e8
Remove spurious Cargo.lock
2020-10-30 18:35:57 +02:00
Sebastian Dröge
35f19e17bf
Update repository URLs
2020-10-30 18:35:52 +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
56b8ebf129
Update Cargo workspace
2020-10-30 18:14:57 +02:00
Sebastian Dröge
1b20aa407b
Remove unneeded sys subdirectory
2020-10-30 18:07:53 +02:00
Sebastian Dröge
109eac2b9a
Move sys crates into subdirectories of the non-sys crates
2020-10-30 18:06:07 +02:00
Sebastian Dröge
f657a56947
Move Gir.toml into the corresponding subdirectories
2020-10-30 18:06:01 +02:00
Sebastian Dröge
ff64c6606a
Merge gstreamer-sys into the main repository
...
More often than not both need to be modified in sync and they share the
gir-files subdirectory anyway. As such it's easier to keep them inside
the same repository.
2020-10-30 17:48:04 +02:00
Sebastian Dröge
f8170e3c46
Move everything into the sys subdirectory
2020-10-30 17:46:44 +02:00
Guillaume Gomez
37dad014ec
Improve generator script
2020-10-29 10:26:05 +01:00
Sebastian Dröge
a7749b7933
gstreamer/log: Don't provide direct access to the logged object as glib::Object
...
It might just be constructed or might be finalized currently and it's
not safe to use any APIs on it.
Instead provide a small wrapper type that allows to get the underlying
pointer and that implements the Display trait to print the name of the
object.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/287
2020-10-26 10:42:33 +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
Sebastian Dröge
4c216bca3a
Remove unneeded PhantomData markers
...
And as a side-effect also get rid of the lifetime parameter of
gst::TypeFind that was completely unused anyway.
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
François Laignel
ae9d97dfca
ClockTime & opt Formats: fix PartialOrd impl, remove Ord and add min & max
...
- `PartialOrd` was returning `true` for expressions such as
- `ClockTime::none() < ClockTime::from_seconds(1)`.
- `ClockTime::from_seconds(1) > ClockTime::none()`.
- Remove `Ord` because `ClockTime` is not a total order due to
`ClockTime::none()`. See test `not_ord`.
This also applies to others `Format(Option<{u32,u64}>)` types.
2020-10-20 23:40:18 +02:00
François Laignel
9efe39ff81
ClockTime: add staturating_{add,sub} and ops tests
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
Sebastian Dröge
0207e41160
gstreamer/clock: Creating new clock ids can't fail gracefully but invalid arguments should be checked
2020-10-20 12:00:13 +03:00
Sebastian Dröge
501934a29b
Allow unused imports in autogenerated code
...
These should not be there to begin with but they're hard to prevent.
2020-10-17 13:09:45 +03:00
Sebastian Dröge
80eb584a7a
Regenerate with latest gir
2020-10-15 13:28:02 +03:00
Sebastian Dröge
18c9a37f48
Update gir
2020-10-15 13:26:29 +03:00
Sebastian Dröge
1b00160388
audio: Update array-init dependency to 1.0
2020-10-15 13:21:53 +03:00
Jonas Platte
73ea24ca11
Fix missing dox feature passthrough
2020-10-14 19:00:04 +02:00
Jonas Platte
da5d6df694
Remove unused dependencies
...
found by cargo-udeps
2020-10-14 19:00:04 +02:00
Sebastian Dröge
fff69b3a23
Update muldiv dependency to 1.0
2020-10-13 09:35:59 +00:00
Sebastian Dröge
025f215bd3
Update byte-slice-cast dependency to 1.0
2020-10-13 09:35:59 +00:00
François Laignel
c987bb0c7d
gstreamer/message: enhance Debug impl for Message[Ref]
...
When "{:?}" printing a Message[Ref], the following issues lower the
experience:
- If the Message seqnum is GST_SEQNUM_INVALID (0), a panic occurs due
to an assertion failure in MessageRef::get_seqnum.
- The src of the Message displays the GString address.
Origin issue for an occurrence of the first case above fixed in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/860
2020-10-13 11:11:38 +02:00
François Laignel
fa3f6eefc9
message: get_seqnum: return next seqnum if Message seqnum is invalid
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
2020-10-13 11:11:38 +02:00
Sebastian Dröge
3c705a3f3d
net: Fix compilation with gio API changes
2020-10-12 09:48:03 +03:00
raytiley
a8ed2ac6e0
Update location of documentation.
2020-10-10 15:51:59 -04:00
Sebastian Dröge
531014a35c
gstreamer/clock: Improve ClockId bindings
...
There is now a separate type for Single and Periodic clock ids. This
allows to have API that is only for one type on that specific type
instead of doing runtime checks, and allows for more refined async
waiting API.
2020-10-10 10:25:44 +00:00
Marijn Suijten
cb362e6fbc
gstreamer: plugin: Prefix glib:: with $crate:: in gst_plugin_define
...
Crates using gst_plugin_define might not (need to) import `glib`
directly into their scope; use the one imported in `gstreamer`s root
to make this macro more portable.
Besides, `glib` is prefixed with `$crate::` just below.
2020-10-10 11:54:20 +02:00
Marijn Suijten
10bc09ba82
gstreamer: error: Prefix gst_error_msg with $crate
...
This macro might not have been imported in the surrounding scope where
gst_panic_to_error is used, thus reference it directly by the full
namespace.
2020-10-10 11:47:41 +02:00
Sebastian Dröge
7f274ebe91
deny: Update
2020-10-10 11:14:01 +03:00
Sebastian Dröge
5ad45cef42
examples: Rename crates in Cargo.toml and get rid of extern crate
2020-10-10 11:10:20 +03:00
Sebastian Dröge
ad1d78b599
examples: Move to Rust 2018 edition
2020-10-10 11:00:48 +03:00
Sebastian Dröge
096ce958a4
tutorials: Move from failure to anyhow
2020-10-10 10:52:15 +03:00
Sebastian Dröge
dc9a9c4d78
Update CHANGELOG.md for 0.16.4
2020-10-09 13:41:11 +03:00
Sebastian Dröge
0b70e52032
gstreamer/audio/video: Correctly implement ExactSizeIterator
...
len() is optional but size_hint() must return the correct values. Also
this shouldn't return the overall length but the remaining length.
2020-10-09 11:35:19 +03:00
Sebastian Dröge
6e404f1831
gstreamer/meta: Don't collect iterators just to check their length in the tests
2020-10-09 11:35:19 +03:00
Sebastian Dröge
7aeb0e8f92
gstreamer/buffer: Don't implement ExactSizeIterator on meta iterator
...
We don't actually know the number of items and using the trait would
panic.
2020-10-09 11:35:19 +03:00
Sebastian Dröge
323bb1269b
gstreamer: Update to cfg-if 1.0
2020-10-09 11:35:19 +03:00
Sebastian Dröge
9379098a3f
examples/appsrc: Make use of the VideoFrame API for accessing the data
...
This is not really needed here but useful to have an example for the
videoframe API usage.
2020-10-03 17:55:36 +03:00
Sebastian Dröge
b59b5ada7e
gstreamer/clock: Unschedule clock ID when the receiver end of the channel is disconnected
2020-10-01 11:25:40 +03:00
Sebastian Dröge
4778d05238
gstreamer/clock_time: Add From/TryFrom impls to convert between ClockTime and std::time::Duration
2020-10-01 11:00:21 +03:00
Sebastian Dröge
c01f7072fb
gstreamer/clock: Add ClockID::wait_async_stream()
...
This provides an async stream with the values of each timeout.
2020-10-01 11:00:21 +03:00
Alexey Galakhov
4120ded424
Add gstreamer-controller
2020-09-30 16:28:51 +00:00
Jordan Petridis
0d1b65154a
ci: avoid trying to cache cargo registry
...
There have been some very weird issues, where
cargo keeps fetching older commits of glib-rs
and breaking the build like so [1]
Might be stale cache, or some http/git mirroring
shenanigans, so lets stop trying to use the
cache for now and check if the issue persists.
[1]: https://gitlab.freedesktop.org/slomo/gst-plugins-rs/-/jobs/4715922
2020-09-30 10:07:12 +03:00
Jordan Petridis
8ff3cdde7e
ci: avoid trying to cache cargo registry
...
There have been some very weird issues, where
cargo keeps fetching older commits of glib-rs
and breaking the build like so [1]
Might be stale cache, or some http/git mirroring
shenanigans, so lets stop trying to use the
cache for now and check if the issue persists.
2020-09-29 18:11:08 +03:00
Alexey Galakhov
57c58f255e
Add generation files for gstreamer-controller-sys
2020-09-23 13:48:48 +03:00
Sebastian Dröge
da4efdfa90
examples: Update for glib API changes
...
Timeouts now use std::time::Duration instead of plain integers.
2020-09-14 16:44:46 +03:00
Sebastian Dröge
8825a27c3e
ci: Update minimum supported version to 1.41
2020-09-09 09:55:10 +03:00
Sebastian Dröge
a540274c72
ci: Update minimum supported version to 1.41
...
Needed for gst-plugins-rs now because one dependency requires a newer
version now.
2020-09-09 09:25:15 +03:00
Sebastian Dröge
4f10eefe1e
Update CHANGELOG.md for 0.16.3
2020-09-08 22:02:31 +03:00
Sebastian Dröge
8bfb5b58fa
Update CHANGELOG.md for 0.9.1
2020-09-08 21:31:56 +03:00
Sebastian Dröge
8aaec57dac
gstreamer: Fix compilation after glib API change
2020-09-08 16:11:39 +03:00
Sebastian Dröge
6ce9a9ce12
video: Rename VideoTransferFunction functions
2020-09-08 15:43:05 +03:00
Sebastian Dröge
55efe30258
Regenerate everything
2020-09-08 15:42:28 +03:00
Sebastian Dröge
0877e6fcb1
Update gir-files to 1.18.0
2020-09-08 15:39:07 +03:00
Sebastian Dröge
f1b4592d17
ci: Rebuild GStreamer to update to 1.18.0
2020-09-08 15:37:48 +03:00
Sebastian Dröge
d2590ff190
Regenerate everything
2020-09-08 15:36:06 +03:00
Sebastian Dröge
ac0cadfd2d
Remove v1_18 version overrides
...
We depend on 1.18.0 now instead of 1.17.2
2020-09-08 15:35:32 +03:00
Sebastian Dröge
a4fb36f972
Update gir-files to 1.18.0
2020-09-08 15:25:41 +03:00
Sebastian Dröge
6e593ef4aa
examples: Debug log ringbuffer API requires GStreamer 1.14 or newer
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/281
2020-09-07 11:11:54 +03:00
Sebastian Dröge
ea3d0246bf
gstreamer/log: Fix debug_remove_default_log_function() to actually work
...
We have to pass `NULL` / `None` instead of the actual default log
function as because of `-Bsymbolic` or how DLLs work on Windows the
external function pointer is different to the internal one.
2020-09-03 10:13:09 +03:00
Marijn Suijten
beaa22fabb
base_transform: Reset unused vfuncs on consecutive configure calls
...
If a user ends up changing the configured mode later on previously
registered vfuncs are not reset meaning the object is effectively stuck
in mode `Both`.
2020-09-02 00:39:38 +02:00
Sebastian Dröge
160728965b
gstreamer: Update pretty-hex dependency to 0.2
2020-09-01 09:55:31 +03:00
Sebastian Dröge
2ac5a68896
examples: Remove unused imports
...
Not required anymore after a fix in glib.
2020-09-01 09:53:09 +03:00
Sebastian Dröge
82b469bc59
Update CI images for Rust 1.46 and GStreamer 1.17.90
...
And also update to meson 0.55.1 while we're at it.
2020-08-27 19:42:02 +03:00
Sebastian Dröge
fb779b42a8
Use glib::timeout_add_local() instead of removed gtk::timeout_add()
2020-08-27 09:49:27 +03:00
Jordan Petridis
cc525cdf70
ci: ensure the registry cache and lockfile are up-to-date
...
We are caching the CARGO_HOME which includes git repos of
the gtk-rs bindings. Since we don't specify a branch
so it uses the default branch for the ref.
cargo build usually does an update if it has network access,
but its not guaranteed or the case for other tools like clippy
which may still point to the stale git snapshot like here:
https://gitlab.freedesktop.org/thaytan/gstreamer-rs/-/jobs/4165449
2020-08-26 13:58:48 +03:00
Jordan Petridis
42768a3159
ci: get rid of some template inheretence in yaml
...
its confusing and it took 3 attempts to get `before_script`
to fucntion as expected. Instead get rid of the anchor
and use a (questionable) but simpler heuristic to detemine
when to update the lockfile.
2020-08-25 19:24:45 +03:00
Jan Schmidt
2ead28defe
examples: Add an example of using the debug ringbuffer
...
A simple example of using the GStreamer debug ringbuffer to only
dump logs on a specific event (in this case EOS).
2020-08-26 00:07:02 +10:00
Jordan Petridis
0ec95b4aae
ci: fix plugins-update jobs
...
This is a hotfix for 8d9bb82492
These jobs are only run on after merge and were not tested before
2020-08-25 11:33:59 +03:00
Jordan Petridis
8d9bb82492
ci: ensure the registry cache and lockfile are up-to-date
...
We are caching the CARGO_HOME which includes git repos of
the gtk-rs bindings. Since we don't specify a branch
so it uses the default branch for the ref.
cargo build usually does an update if it has network access,
but its not guaranted or the case for other tools like clippy
which may still point to the stale git snapshot like here:
https://gitlab.freedesktop.org/thaytan/gstreamer-rs/-/jobs/4165449
2020-08-25 07:30:11 +00:00
Sebastian Dröge
a4239c3462
gstreamer: Remove API that was deprecated in 0.16
2020-08-24 17:33:35 +03:00
Sebastian Dröge
23174629b6
base/aggregator: "samples-selected" signal handler only has to be Send, not Sync
...
It can only be emitted from the aggregate thread.
2020-08-17 10:39:55 +03:00
Ruben Gonzalez
4e6766e6ed
gstreamer: Delete duplicated assert_initialized_main_thread
2020-08-14 09:27:10 +02:00
Sebastian Dröge
febb0dfd16
video/video_frame: Allow getting an owned buffer from readable video frames
...
In all other variations this is not possible as it would allow to
circumvent the mini object writability rules.
2020-08-11 13:35:39 +03:00
Sebastian Dröge
dfe87cf5c9
Add various new 1.18 APIs
2020-08-11 12:54:32 +03:00
Sebastian Dröge
70fd572a46
Regenerate everything
2020-08-11 12:53:27 +03:00
Sebastian Dröge
15d5d169a3
generator: Switch to Python 3
...
It's 2020.
2020-08-11 12:53:27 +03:00
Sebastian Dröge
888d3ca29a
gir-files: Update to 1.17.2.1
...
This should be approximately the same as 1.17.90.
This is the version from gstreamer-sys 0.16 which merged the GL
platforms back into the main gir file for backwards compatibility.
2020-08-11 12:53:27 +03:00
Sebastian Dröge
757ee2c703
Regenerate everything
2020-08-11 12:46:52 +03:00
Sebastian Dröge
e40bc9bffa
Update 1.18 version requirement to 1.17.2.1
2020-08-11 12:46:52 +03:00
Sebastian Dröge
d9ab90facf
Move Wayland/X11/EGL GL API back into GstGL-1.0.gir for backwards compatibility
2020-08-11 12:46:52 +03:00
Sebastian Dröge
267d645ec1
generator: Switch to Python 3
...
It's 2020.
2020-08-11 12:46:52 +03:00
Sebastian Dröge
a9cf1769a0
gir-files: Update to 1.17.2.1
...
This should be approximately the same as 1.17.90.
2020-08-11 12:46:52 +03:00
Sebastian Dröge
6abad01d88
ci: Update GStreamer version
2020-08-11 09:07:30 +03:00
Sebastian Dröge
746741f910
gstreamer: Update paste dependency from 0.1 to 1.0
2020-08-09 10:33:22 +03:00
Sebastian Dröge
43d1d0a4e9
gstreamer/pad: Factor out PadProbeInfo handling from pad probe trampoline into separate functions
...
This makes that part of the code non-generic and thus allows the
compiler to not put a copy of it into every caller with a different
closure.
For a test with 3 pad probes this overall reduced the number of LLVM IR
lines needed for the pad probes to about 8.5% of what it was before
(4485 -> 381 lines).
2020-08-05 10:33:12 +03:00
Sebastian Dröge
9ffe2238a7
examples: Add example that creates a thumbnail of a given position in a stream using the image crate
2020-08-03 00:25:19 +03:00
Jacob Teplitsky
4648cf1b34
rtp/rtp_buffer: Wrap set_marker() and get_marker() methods
2020-07-28 15:49:32 +00:00
Sebastian Dröge
a426c03720
Fix various new clippy warnings
2020-07-28 14:13:22 +03:00
Sebastian Dröge
01397b213d
ci: set -e
in all shell scripts
...
Otherwise errors are silently ignored.
2020-07-28 09:46:21 +03:00
Sebastian Dröge
1d3df7eaa5
ci: Update CI image for Rust 1.25, rustup 1.22.1, meson 0.55 and switch to cargo-outdated release
2020-07-28 09:44:37 +03:00
Sebastian Dröge
9cb40878f0
Update CHANGELOG.md for 0.16.2
2020-07-27 12:43:53 +03:00
Sebastian Dröge
b8eaef3d02
gstreamer: Add parse_bin_from_description_with_name_full()
...
The non-full variant existed already.
2020-07-27 10:38:31 +03:00
Sebastian Dröge
f8301ea9ce
audio/audio-buffer: Use correct pointer for the audio buffer plane data
2020-07-26 18:21:23 +03:00
Sebastian Dröge
4f5b2f5060
Update for removal of ObjectImpl::get_type_data()
2020-07-26 18:02:05 +03:00
Philippe Normand
3adc3d9337
functions: Add new parse_bin_from_description_with_name utility
...
This is basically `parse_bin_from_description()` but additionally the returned
bin has the passed name. It is sometimes convenient to name those bins so they
can later be easily retrieved by name from the pipeline they belong to.
2020-07-16 09:57:42 +01:00
Sebastian Dröge
81aba1b8a2
gstreamer/ghost_pad: Add convenience constructors with target pad
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/275
2020-07-10 12:12:03 +00:00
Sebastian Dröge
4246a560fc
gstreamer/ghost_pad: Move GhostPad specific code into the ghost_pad module
2020-07-10 12:12:03 +00:00
Guillaume Gomez
6752ef8a69
tutorials: Add resample element to the pipeline in tutorials 3
2020-07-10 11:12:38 +02:00
Guillaume Gomez
7d28106c2e
tutorials: Improve code of tutorial 3 a bit by removing unneeded downgrades and
...
using closure parameters instead of capturing variables
2020-07-10 11:12:36 +02:00
Sebastian Dröge
0db75a5186
Update CHANGELOG.md for 0.16.1
2020-07-10 10:44:40 +03:00
Jan Alexander Steffens (heftig)
a430fd93c8
log: Allow calling DebugCategory::new before gstreamer::init
...
This is safe.
2020-07-09 16:06:01 +02:00
Sebastian Dröge
f40821ba66
Update versions to 0.17.0
2020-07-06 15:22:55 +03:00
Sebastian Dröge
d2467b4b65
Update docs
2020-07-06 15:22:07 +03:00
Sebastian Dröge
ca8b8f6a38
Update CHANGELOG.md for 0.16.0
2020-07-06 15:22:07 +03:00
Sebastian Dröge
448c1e10a0
Regenerate
2020-07-06 13:01:57 +03:00
Sebastian Dröge
3bf5215872
Update configuration for new API
2020-07-06 12:08:36 +03:00
Sebastian Dröge
2d4abeba23
Remove now unneeded version annotations from overrides
2020-07-06 11:30:12 +03:00
Sebastian Dröge
d412f818d2
Update gir-files to 1.17.2
2020-07-06 11:23:55 +03:00
Sebastian Dröge
697c3229cd
Update gir
2020-07-06 11:23:48 +03:00
Sebastian Dröge
92a1771db0
Update versions to 0.10.0
2020-07-06 11:21:58 +03:00
Sebastian Dröge
f92f8157fd
Update CHANGELOG.md for 0.9.0
2020-07-06 11:21:28 +03:00
Sebastian Dröge
4b9859633e
Regenerate
2020-07-06 08:59:50 +03:00
Sebastian Dröge
b2a2883b0a
Ignore GST_STIMEP_FORMAT / GST_TIMEP_FORMAT
2020-07-06 08:59:50 +03:00
Sebastian Dröge
3d7181caec
Update 1.18 version to 1.17.2
2020-07-06 08:52:44 +03:00
Sebastian Dröge
74249ddb38
Remove now unneeded version annotations from overrides
2020-07-06 08:52:44 +03:00
Sebastian Dröge
093dcb14d0
Update gir-files to 1.17.2
2020-07-06 08:52:39 +03:00
Sebastian Dröge
052c056dd1
Update CI image to latest GStreamer git
...
And also update meson to 0.54.3
2020-07-05 23:09:01 +03:00
Sebastian Dröge
80babba79c
Update gir
2020-07-05 22:43:52 +03:00
Sebastian Dröge
e3667fd8d2
video/video_info: Add field_height() function
2020-07-03 13:10:28 +03:00
Sebastian Dröge
5845038a63
video: Use correct version for interlaced caps feature
2020-07-03 13:00:07 +03:00
Sebastian Dröge
2db7b8ebcc
video: Use correct versions of primaries/transfer function enums
2020-07-03 12:23:32 +03:00
Sebastian Dröge
01eaf76b31
gstreamer/buffer: Add bindings for foreach_meta() and foreach_meta_mut()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/268
2020-07-03 10:28:59 +03:00
Sebastian Dröge
f01b590a0c
gstreamer/bufferlist: Add bindings for foreach() and foreach_mut()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/273
2020-07-03 10:28:47 +03:00
François Laignel
275d93e3d2
memory: fix typo
2020-07-02 17:46:20 +02:00
Sebastian Dröge
0cc32a02cc
gstreamer/element: Don't catch panics in post_message() vfunc
...
Otherwise we would post a message, which calls into this code again and
then does the whole thing recursively forever.
2020-07-01 01:36:16 +03:00
Sebastian Dröge
4fbbf48622
gstreamer/element: Change post_message() vfunc return type to bool
...
It regularly fails in normal situations, e.g. when the element is not
inside a bin and has no bus, and we don't really want to log errors for
that.
2020-07-01 01:15:57 +03:00
Sebastian Dröge
9cc99b27e0
gstreamer/element: Let post_message() and post_error_message() take ownership of the message
...
This is more in line with the C API and simplifies callers in Rust.
2020-06-30 23:55:02 +03:00
Sebastian Dröge
71b83b7c84
base/aggregator: Mark new 1.18 vfuncs as only available from the version onwards
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/272
2020-06-30 23:46:51 +03:00
Sebastian Dröge
5b3d6418f0
gstreamer/element: Add support for overriding post_message vfunc
2020-06-30 23:46:51 +03:00
Sebastian Dröge
9911de6591
base/baseparse: Add support for overriding stop vfunc
2020-06-30 23:46:51 +03:00
Sebastian Dröge
03893f895c
audio/sink,src: Add support for overriding reset vfunc
2020-06-30 23:46:51 +03:00
Sebastian Dröge
cc866b53d0
Call the parent impl of various vfuncs if not overridden
...
This was forgotten for a few types and would require each subclass to
implement them, even if a parent class already provided an
implementation.
2020-06-30 23:46:51 +03:00
Sebastian Dröge
dbc76f1053
gstreamer/miniobject: Remove DerefMut and AsMut impls
...
They were side-stepping the miniobject writability mechanism.
2020-06-30 15:23:50 +03:00
Sebastian Dröge
911bb34dc2
Don't generate LAST/NONE variants of flags types
...
Those are automatically provided already.
2020-06-30 11:35:49 +03:00
Sebastian Dröge
45402b5e95
Add specific version configurations for various enum/flags values
...
gobject-introspection does not support this yet so we have to do that
manually.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/271
2020-06-30 11:23:37 +03:00
Sebastian Dröge
af01f1bc67
gstreamer: Simplify MiniObject bindings by removing one layer of abstraction
...
And instead directly implementing this via the macro on the target
types.
2020-06-30 11:06:02 +03:00
Guillaume Desmottes
2427bfbcef
regenerate
2020-06-26 11:09:19 +03:00
Guillaume Desmottes
046adf4d15
update gir
2020-06-26 11:09:19 +03:00
Sebastian Dröge
947ac8db5c
Name functions returning a builder builder(), not new()
...
And also make the video event API more consistent with the normal event
API.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/269
2020-06-25 19:42:33 +03:00
François Laignel
ddd3bbbf84
query: remove unused Jitter & Rate
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/532#note_548884
2020-06-25 10:48:25 +02:00
François Laignel
c94baa4fe8
query: add constructor on target types
...
... and deprecate the `Query::new_*` forms.
2020-06-25 10:48:25 +02:00
François Laignel
884e5e4e4a
event: add constructor on target types
...
... and deprecate the `Event::new_*` forms.
2020-06-25 10:48:25 +02:00
François Laignel
f421d878b6
message: add constructor on target types
...
... and deprecate the `Message::new_*` forms.
2020-06-25 10:48:20 +02:00
Guillaume Desmottes
2f1b3306de
video: properly version VideoFormat members
...
The C API is not safe when called on unknown formats.
Need to do this manually until gir gives us the version info:
https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/348
Fix #267
2020-06-24 14:55:27 +02:00
Guillaume Desmottes
2afcdfe79f
video: remove 1.18 formats from VIDEO_FORMATS_ALL
...
This array is a fallback when using gst < 1.18 so it makes no sense
to include formats which have been introduced in 1.18
2020-06-24 14:14:45 +02:00
Guillaume Desmottes
03a240cf3f
video: format: check for Nv12 instead of P016Be
...
The latter has been introduced in 1.18 making the test fail with older
gst.
2020-06-24 10:01:31 +02:00
Guillaume Desmottes
ac47c7bc1d
video format:: disable sorting test with gst < 1.18
...
This test relies on a 1.18 specific fix
( 8e3c4a5d5a
)
and is meant to check that future updates won't break the ordering.
2020-06-24 10:01:20 +02:00
Sebastian Dröge
07e786b44f
gstreamer/pad: Add support for setting proxy pad functions on a ghost pad during construction
2020-06-22 21:20:20 +00:00
Sebastian Dröge
a80471747c
gstreamer/pad: Borrow the pad when taking the stream lock
...
Instead of taking a new reference to the pad.
2020-06-22 11:48:56 +03:00
Sebastian Dröge
79c457c8c4
gstreamer/pad: Rename Pad::builder_from_template() to builder_with_template()
...
Sounds more natural as it creates a build that is initialized *with* a
template.
But keep Pad::from_template() as it creates a new pad *from* a template.
2020-06-22 11:26:24 +03:00
Sebastian Dröge
0c0d671922
gstreamer/pad: Don't provide constructors anymore but instead a builder
...
This handles safely setting the pad functions during construction and
also has special support for ghost pads.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/247
2020-06-22 10:55:24 +03:00
Sebastian Dröge
750f8f5bb5
gstreamer/pad: Don't allow changing a pad's template after construction
...
That's generally not a good idea and not safe to do.
2020-06-21 20:02:52 +03:00
Sebastian Dröge
059dc5b2cb
gstreamer/object: Don't provide bindings for functions to modify an object name
...
It's generally not safe to change the object name after construction and
not really a good idea.
2020-06-21 20:02:52 +03:00
Sebastian Dröge
210e7c8777
gstreamer/pad: Mark pad function setters as unsafe
...
This is not thread-safe and changing the function at a bad time will
cause crashes or worse. It's only really safe to set the functions right
after construction of the pad before any other code can know about it.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/247
2020-06-21 20:02:52 +03:00
Sebastian Dröge
c68df282e8
gstreamer/caps: Fix clippy warning
...
No need to provide the field name if it's initialized with a variable of
the same name.
2020-06-21 20:02:52 +03:00
Sebastian Dröge
66069bcfa5
deny: Allow LGPL-2.0 license for the optional gstreamer-rs-lgpl-docs crate dependency
...
This is only pulled in when documentation build is enabled and thus
doesn't cause problems by pulling in an LGPL dependency.
2020-06-21 18:13:19 +03:00
Sebastian Dröge
b096a24857
video: Fix version for gst_video_time_code_meta_api_get_type()
2020-06-19 13:19:14 +03:00
Sebastian Dröge
801998c717
Generate documentation from the docs crate directly
2020-06-19 13:16:19 +03:00
Sebastian Dröge
70ee13db53
Convert documentation into a proper crate
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/258
2020-06-19 13:09:39 +03:00
Sebastian Dröge
740f668658
Update documentation
2020-06-19 13:09:39 +03:00
Sebastian Dröge
8dfbc9e811
Regenerate
2020-06-19 13:09:11 +03:00
Sebastian Dröge
2fd12a5ec1
Update symbol versions in the configuration that are missing from the .gir
2020-06-19 13:09:11 +03:00
Sebastian Dröge
2bd82b67f7
Update gir
2020-06-19 12:31:24 +03:00
Sebastian Dröge
b227a77c45
Regenerate
2020-06-19 12:18:54 +03:00
Sebastian Dröge
03c05f564f
Update symbol versions in the configuration that are missing from the .gir
2020-06-19 12:18:54 +03:00
Sebastian Dröge
2562fe9990
Update to 1.8 as minimum supported GStreamer version
...
To keep it in sync with the bindings on top.
2020-06-19 12:02:52 +03:00
Sebastian Dröge
e4efbec6d3
Update gir
2020-06-19 12:02:52 +03:00
Sebastian Dröge
d22b1b5981
gstreamer: Update num-rational dependency to 0.3
2020-06-18 13:06:20 +03:00
Sebastian Dröge
bfde1fd9d5
Update for new_with_XXX/new_from_XXX function renaming
2020-06-16 11:45:12 +03:00
François Laignel
04875f3bff
video: Add bindings for VideoSink
2020-06-15 11:47:15 +02:00
Guillaume Desmottes
87feebf827
ci: check commit using ci-fairy
...
See https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#checking-commits
In this setup it will check for any leftover fixup!/squash! commits and
that messages don't have the 'Signed-off-by:' tag.
2020-06-15 10:32:48 +02:00
Guillaume Desmottes
4b553c3ae7
ci: check commit using ci-fairy
...
See https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#checking-commits
In this setup it will check for any leftover fixup!/squash! commits and
that messages don't have the 'Signed-off-by:' tag.
2020-06-11 13:57:23 +00:00
Guillaume Desmottes
a954c03bc0
functions: rename constructors in manual API
...
The idiomatic way for Rust constructors is to be named from_XXX()
instead of new_from_XXX() and with_XXX() instead of new_with_XXX().
Fix #460
2020-06-11 12:33:52 +02:00
Guillaume Desmottes
7b2fe31cc1
update gir generator and regenerate
2020-06-11 12:33:49 +02:00
Sebastian Dröge
204c57e065
Regenerate everything
2020-06-10 11:52:39 +03:00
Sebastian Dröge
ad316840c5
Ignore AUDIO/VIDEO_FORMATS_ALL
...
They are endianness and version dependent.
2020-06-10 11:52:39 +03:00
Sebastian Dröge
d5ebc6a16d
Update gir-files
2020-06-10 11:29:52 +03:00
Guillaume Desmottes
6cd711cfdf
subclass: clean up subclassing prelude/re-exports
...
Use re-export pattern from glib.
Fix #255
2020-06-09 14:36:37 +02:00
Guillaume Desmottes
1d886727d9
video: sort VIDEO_FORMATS_ALL
...
Test also ensures that the formats list returned by
gst_video_formats_raw() is properly sorted when running with feature
1.18.
2020-06-09 09:26:32 +02:00
Guillaume Desmottes
ae57524502
video: manually order VideoFormat and VideoFormatInfo
2020-06-09 09:26:32 +02:00
Guillaume Desmottes
bb065be349
audio: sort AUDIO_FORMATS_ALL
...
Test also ensures that the formats list returned by
gst_audio_formats_raw() is properly sorted when running with feature
1.18.
2020-06-09 09:26:32 +02:00
Guillaume Desmottes
a6faa83908
audio: manually order AudioFormat and AudioFormatInfo
2020-06-09 09:26:31 +02:00
Guillaume Desmottes
59cfdc5e1a
ci: rebuild to update GStreamer
...
Need the new audio and video formats APIs.
2020-06-09 09:26:31 +02:00
Sebastian Dröge
a56b3cb5a0
Update CHANGELOG.md for 0.15.7
2020-06-08 13:29:06 +03:00
Sebastian Dröge
79b748feb0
audio: Add bindings for AudioBuffer
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/222
2020-06-07 18:58:54 +03:00
Sebastian Dröge
0b74671f54
audio: Add bindings for AudioMeta
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/222
2020-06-07 18:58:54 +03:00
Sebastian Dröge
be00953ec6
audio: Add AudioInfo::is_valid() and guard against finfo being NULL when retrieving the audio format
2020-06-07 18:58:54 +03:00
Sebastian Dröge
cf33e0acd0
audio: Add bindings for audio_buffer_truncate()
2020-06-07 18:58:54 +03:00
Sebastian Dröge
78c1fed92d
audio: Move audio_buffer_clip() to functions module
2020-06-07 18:58:54 +03:00
Sebastian Dröge
30d51f0ca6
video: Don't panic when passing an invalid video info to VideoMeta::add()
...
Instead return an error that can be handled by the caller.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/259
2020-06-07 18:58:54 +03:00
Sebastian Dröge
926ed2f53d
video: Don't unmap VideoFrameRef created from a VideoFrame
...
Otherwise we're going to unmap it twice. Also add a test for the
different interactions.
2020-06-07 15:22:33 +00:00
Sebastian Dröge
4f5aceaa5a
video: Check that the passed in video info is valid when creating a VideoFrame
2020-06-07 15:22:33 +00:00
Sebastian Dröge
6ed505401f
video: Add VideoInfo::is_valid() and guard against finfo being NULL when retrieving the video format
2020-06-07 15:22:33 +00:00
Thiago Sousa Santos
4a2cb80c06
rtp_buffer: wrap more methods
...
* extension data
* onebyte/twobytes extension
* ssrc
* csrc
* get_payload
2020-06-06 07:03:29 +00:00
Guillaume Desmottes
cac9767167
ci: rebuild image to update to Rust 1.44.0
2020-06-05 10:07:01 +02:00
jneem
e7cb758ee3
README.md: Add remark about pkg-config in MSYS2
...
Mention (and link to) the known issue about the MSYS2 version of pkg-config.
2020-06-05 10:03:16 +03:00
Sebastian Dröge
22113dc9cb
gstreamer/iterator: Store filter types in a hash table
...
Static variables in generic functions only exist once and not once per
type parameter, so before we were only able to register exactly one
filter type.
2020-06-04 12:36:03 +03:00
Sebastian Dröge
9b4117ea71
examples: Add an example that registers a custom GstMeta and makes use of it
...
The meta contains a Rust String as a label for the buffer. It is added
on buffers passed into an appsrc and retrieved from the buffers provided
by an appsink.
2020-06-04 12:07:05 +03:00
Mathieu Duponchelle
9f422c25d9
audio / video: export new formats iterators in preludes
2020-06-03 21:38:16 +02:00
Guillaume Desmottes
d5cab61c93
audio: implement Iterator on AudioFormat
...
Also add AUDIO_FORMATS_ALL as public API.
2020-06-03 21:11:00 +03:00
Guillaume Desmottes
3ceb870790
audio: add API to build raw audio caps
2020-06-03 21:11:00 +03:00
Guillaume Desmottes
972002ceb2
video: implement Iterator on VideoFormat
...
Also add VIDEO_FORMATS_ALL as public API.
2020-06-03 21:11:00 +03:00
Guillaume Desmottes
9754147a30
video: add API to build raw video caps
2020-06-03 21:11:00 +03:00
Guillaume Desmottes
1b0a20e52f
regenerate
2020-06-03 20:04:18 +03:00
Sebastian Dröge
c417ee8a56
Update gir
2020-06-03 20:04:18 +03:00
Sebastian Dröge
843fd923af
ges: BaseEffect is available since 1.2 even if all its functions are only since 1.18
...
There's a heuristic in the code generator to base the version on the
functions' versions if the type itself has none, simply because too many
libraries get this wrong. Let's override that here.
2020-06-03 17:08:01 +03:00
Sebastian Dröge
d216757c23
webrtc: Generate DataChannel bindings
2020-06-03 17:08:01 +03:00
Guillaume Desmottes
842959e1d8
update gir-files
2020-06-03 12:50:03 +02:00
Guillaume Desmottes
6aebe5ddc3
regenerate
2020-06-03 12:17:35 +02:00
Guillaume Desmottes
737d998a54
ci: rebuild images to update gst
...
Will be needed to bind the new webrtc APIs.
2020-06-03 11:45:57 +02:00
Guillaume Desmottes
ba98d9cece
update gir-files from gst master
2020-06-03 11:00:01 +02:00
Sebastian Dröge
9236ace284
video: Add VideoAffineTransformationMeta, CropMeta and RegionOfInterestMeta
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/218
2020-06-02 16:05:01 +03:00
Sebastian Dröge
ede4588e0c
gstreamer: Add bindings for ProtectionMeta
2020-06-02 16:05:01 +03:00
Guillaume Desmottes
5775e531d9
ci: rebuild images to update gst
...
Will be needed to bind the new audio and video caps APIs.
2020-06-02 14:22:05 +02:00
Sebastian Dröge
9dbddc9fef
gstreamer: Allow calling various global functions before gst::init()
...
Including most debugging related functions.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/211
2020-06-01 07:27:51 +00:00
Sebastian Dröge
f8d0d4f373
Update gir
2020-06-01 07:27:51 +00:00
Sebastian Dröge
8988e0daa8
deny: Allow libloading twice in the dependency tree
...
An older version is pulled in by the OpenGL example via glutin, and it
would have to be updated to a newer version of glutin to fix this. See
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/409
2020-05-29 11:43:25 +03:00
Jan Schmidt
6c876a5681
examples: Add a VideoOverlayComposition example
...
Replicate the pango-cairo cairooverlay example, but
drawing into a gst::VideoOverlayComposition using the
overlaycomposition element.
2020-05-29 02:58:47 +10:00
Jan Schmidt
dd226e80f8
Add an example of setting up the VideoConvert API
...
Configure some custom cropping / scaling of a video frame
input to compositor via the converter-config property
and gst_video::VideoConverterConfig API.
2020-05-29 02:58:47 +10:00
Jan Schmidt
637a1ca670
examples: Add a custom event example.
...
Add an example of constructing and parsing a custom event using
a rust helper struct, and sending them / catching them in
a pipeline.
2020-05-29 02:58:47 +10:00
Sebastian Dröge
e9317d0a48
Update CHANGELOG.md for 0.15.6
2020-05-28 15:51:43 +03:00
Sebastian Dröge
40c14ccc03
gstreamer: Update ron dependency to 0.6
2020-05-28 13:18:02 +03:00
Sebastian Dröge
dbf6d1fd1a
gstreamer/promise: Return a borrowed StructureRef for the reply from the Future
...
Prevents an usually unneeded copy of the structure.
2020-05-27 14:48:48 +03:00
Sebastian Dröge
9d851bfc48
gstreamer/promise: Allow resolving the Promise with None and handle None explicitly in the change function
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
2020-05-27 13:55:51 +03:00
Sebastian Dröge
7086a754be
Add various glib::Value trait impls for borrowed versions of types
...
For SDPMessageRef, StructureRef and CapsFeatureRef this involves the
conversion from and to a glib::Value. Specifically this means that e.g.
a StructureRef can be retrieved from a glib::Value via borrowing, i.e.
without creating a copy of the structure first.
For all mini objects only retrieval from a glib::Value is implemented as
the other direction would allow to get multiple immutable references
from a mutable reference without borrowing, which is not allowed and
would make it possible to observe a mini object changing while having an
immutable reference to it.
2020-05-27 13:17:54 +03:00
Sebastian Dröge
0b3bfa7ea2
gstreamer/promise: Convert None promise replies to an empty structure in the change_func
...
webrtcbin likes to put a NULL structure into the reply under some
circumstances when the promise successfully resolved.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1300
for details.
2020-05-27 12:24:11 +03:00
Sebastian Dröge
dfdf01b868
gstreamer/datetime_serde: Use glib::BoolError instead of a &'static str as TryFrom error type
2020-05-26 19:26:35 +03:00
Sebastian Dröge
5eb1dbd93e
video/videoinfo: Use a proper error type in the TryFrom<VideoMultiviewMode> impl for VideoMultiviewFramePacking
2020-05-26 19:26:35 +03:00
Sebastian Dröge
d417656707
Use thiserror more widely for deriving Error/Display impls of error types
2020-05-26 19:26:35 +03:00
Sebastian Dröge
f0e12bbf24
video/videoconverter: Add TryFrom<Structure> and inverse From impl for VideoConverterConfig
...
Allows converting between both types interchangebly.
2020-05-26 19:26:35 +03:00
Mathieu Duponchelle
02a43819a7
gstreamer-video: expose caps features
2020-05-22 21:31:45 +02:00
Sebastian Dröge
31313fb5c8
video: Add bindings for guess_framerate()
2020-05-20 09:52:03 +03:00
Sebastian Dröge
8029d85232
video: Add bindings for calculate_display_ratio()
2020-05-20 09:52:03 +03:00
Sebastian Dröge
1b7e99938f
gstreamer/event: Add setter/getter for the gst::Stream in the stream-start event
2020-05-17 13:38:45 +03:00
Sebastian Dröge
4097c15c96
Don't include LGPL docs in the docs if both embed-lgpl-docs and purge-lgpl-docs features are selected
...
This makes usage of RLS/rust-analyzer on the repository much faster and
less annoying as the docs don't have to be included and removed on every
change.
2020-05-14 10:44:58 +03:00
Sebastian Dröge
93bc5c9324
gstreamer/gstreamer-app: Don't store strong references in futures Stream/Sink adapters
...
This applies to the ones of the appsink, appsrc and bus. If we would
store a strong reference then they would keep alive the underlying
object forever even if their pipeline disappeared in the meantime.
Like this e.g. the bus stream would start returning None once the bus
was destroyed, similar to how other channels are working in Rust.
2020-05-13 22:13:11 +03:00
Sebastian Dröge
3f495ce1da
gstreamer/plugin: Register plugins with the correct minor version when building for 1.18
2020-05-08 14:32:50 +03:00
Guillaume Desmottes
6cf5914e21
ci: rebuild images
...
This will update to latest Rust stable (1.43.1).
2020-05-08 09:14:07 +02:00
Sebastian Dröge
781c5785b1
Regenerate
2020-05-05 17:29:14 +00:00
Sebastian Dröge
c588a0bcd5
Update gir-files from gstreamer-rs-sys
2020-05-05 17:29:14 +00:00
Sebastian Dröge
e87eff6271
Update gir
2020-05-05 17:29:14 +00:00
Sebastian Dröge
27f694f995
Regenerate
2020-05-05 20:26:55 +03:00
Sebastian Dröge
e2c1cdee24
Update gir configurations to generate correct version features and dependencies
2020-05-05 20:26:55 +03:00
Sebastian Dröge
a983541a75
Update gir
2020-05-05 20:26:55 +03:00
Sebastian Dröge
7e929b83df
gstreamer-rtsp-server: Update gir file
2020-05-05 20:26:45 +03:00
Sebastian Dröge
a8583c03a1
gstreamer-editing-services-sys: Remove duplicated enum values
2020-05-05 20:21:01 +03:00
Otavio Salvador
2022890766
examples: Move out from 'failure' crate as it is deprecated
...
The 'failure' crate has been stale for quite some time and better
alternatives has been developed since its introduction. We choose the
'anyhow' and 'derive_more' to replace it.
2020-05-04 11:16:50 -03:00
Otavio Salvador
6fc70ee6b6
examples: Move to 2018 edition
...
This code rework the examples to use the new 2018 edition and also
rework the code to avoid using unnecessary 'extern crate' calls.
The 'use extern crate gstreamer as gst', as well as the other gstramer
related crates, were kept, otherwise we'd need to do it on 'Cargo.toml'
but it would make it more difficult to figure out the respective crate
name.
2020-05-03 18:42:57 -03:00
Vivia Nikolaidou
3c1304def5
Add DEVELOPMENT.md
...
To explain how the development process works (how to update the bindings)
2020-05-03 19:37:13 +03:00
Vivia Nikolaidou
ec4a43be89
Regenerate
2020-05-03 16:48:35 +03:00
Sebastian Dröge
2c254c633b
gstreamer-rtsp-server: Update gir-file to fix out parameters
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
e986119df6
Update Cargo.toml to 1.18
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
4718f72fed
gstreamer-video/video_encoder: Manually implement finish_subframe
2020-05-03 16:48:35 +03:00
Sebastian Dröge
61c80ada48
ci: Run build with v1_18 feature
2020-05-03 16:48:35 +03:00
Sebastian Dröge
90a4918f92
gstreamer-base/aggregator: Add subclassing support for new 1.18 virtual methods
2020-05-03 16:48:35 +03:00
Sebastian Dröge
c449b34b37
gir-files: Sync with gstreamer-rs-sys
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
3ac7631ea0
gstreamer/bin: Implement iterate_all_by_element_factory_name manually
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
05852bb19f
gstreamer-check/test_clock: Implement process_id manually
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
0aeccc27ff
gstreamer-base/aggregator: Implement update_segment manually
2020-05-03 16:48:35 +03:00
Sebastian Dröge
1be8ec691e
gstreamer-video: Add support for the AFD and Bar metas
2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
85f98751cf
gstreamer-editing-services: Generate GES.FrameNumber
2020-05-03 15:18:45 +03:00
Vivia Nikolaidou
e0ae19d459
gstreamer: Ignore get_current_running_time and get_current_clock_time
...
They have a better manual implementation
2020-05-03 15:18:45 +03:00
Vivia Nikolaidou
df3eb56fb1
gir-files: Update to gstreamer master
2020-05-03 15:18:45 +03:00
Sebastian Dröge
3192d74389
Update CHANGELOG.md for 0.15.5
2020-05-03 10:17:18 +03:00
Sebastian Dröge
2b15e4b3d5
gstreamer-rtsp-server-sys: Revert temporary API/ABI breakage in git master in .gir file too
2020-05-02 22:22:26 +03:00
Sebastian Dröge
65e4f212bc
gstreamer-rtsp-server-sys: Revert temporary API/ABI breakage in git master
...
See https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/116
2020-05-01 10:57:06 +03:00
Sebastian Dröge
efe335fe29
gstreamer-rtp-sys: Temporary fix to manually add back GST_RTCP_PSFB_TYPE_AFB
2020-05-01 09:52:22 +03:00
Vivia Nikolaidou
8c43b2886a
Regenerate
2020-04-30 21:19:06 +03:00
Vivia Nikolaidou
ebea076675
Ignore GL_MEMORY_VIDEO_FORMATS_STR
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/750
again
2020-04-30 21:17:47 +03:00
Vivia Nikolaidou
c455fe4f45
Regenerate
2020-04-30 21:11:19 +03:00
Vivia Nikolaidou
3f21d0d197
Ignore GstGL.GL_COLOR_CONVERT_FORMATS
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/750
2020-04-30 21:09:59 +03:00
Vivia Nikolaidou
dbf7f1f919
Regenerate
2020-04-30 21:01:53 +03:00
Vivia Nikolaidou
98c722881b
Remove GLDisplayEGLDevice
2020-04-30 21:01:53 +03:00
Vivia Nikolaidou
6fc1452a6d
Regenerate
2020-04-30 17:12:10 +00:00
Vivia Nikolaidou
4644ec39ab
Update all Cargo.toml to 1.17
2020-04-30 17:12:10 +00:00
Vivia Nikolaidou
5bdfce0932
Update all build.rs to 1.17
2020-04-30 17:12:10 +00:00
Vivia Nikolaidou
7cefac11e5
gir-files: Update to gstreamer master
2020-04-30 17:12:10 +00:00
Vivia Nikolaidou
20972ae65f
Add DEVELOPMENT.md
...
To explain how the development process works (how to update the
bindings)
2020-04-30 19:07:44 +03:00
Vivia Nikolaidou
a0fa164b7b
Update ci gstreamer to master
2020-04-30 18:17:21 +03:00
Vivia Nikolaidou
118c7d4ad9
Regenerate
2020-04-30 17:16:23 +03:00
Vivia Nikolaidou
5ccbec37f9
fix.sh: Remove more EGL stuff
2020-04-30 17:14:29 +03:00
Vivia Nikolaidou
e1b1d4d95a
Update GLib gir files
2020-04-30 17:14:20 +03:00
Vivia Nikolaidou
720c17293b
gir-files: Update to 1.16.2
2020-04-30 17:14:11 +03:00
Vivia Nikolaidou
3f87529914
Regenerate
2020-04-30 17:09:02 +03:00
Vivia Nikolaidou
67b410c127
Regenerate
2020-04-30 17:06:20 +03:00
Vivia Nikolaidou
2348fb3443
fix.sh: Remove more EGL stuff
2020-04-30 17:06:19 +03:00
Vivia Nikolaidou
ebab0d8a1d
Update GLib gir files
2020-04-30 17:06:19 +03:00
Vivia Nikolaidou
01ee083ac7
gir-files: Update to 1.16.2
2020-04-30 17:06:19 +03:00
Vivia Nikolaidou
ae965f7256
gir-files: Update files after newer fix.sh
2020-04-30 14:01:41 +03:00
Vivia Nikolaidou
c6831ca28a
fix.sh: Incorporate reformat.sh
...
From https://github.com/gtk-rs/gir-files/blob/master/reformat.sh
2020-04-30 14:01:09 +03:00
Vivia Nikolaidou
6f338f7376
gir-files: Update files after newer fix.sh
2020-04-30 13:41:29 +03:00
Vivia Nikolaidou
115d2ce8ba
fix.sh: Incorporate reformat.sh
...
From https://github.com/gtk-rs/gir-files/blob/master/reformat.sh
2020-04-30 13:36:20 +03:00
Jan Alexander Steffens (heftig)
1d2609d448
gstreamer: Return any lifetime instead of 'static
...
Following https://github.com/gtk-rs/glib/pull/633
2020-04-30 09:50:00 +02:00
Guillaume Desmottes
f28a92c46c
ci: update ci template
...
Prevent creating a second useless layer, see
https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/26
Update image tag to ensure building images is still working.
2020-04-28 16:08:56 +02:00
Guillaume Desmottes
fe30b4a388
ci: improve docker image layering
...
At the moment we are building 3 independent images, each one having a different
Rust version. This works perfectly fine but we can save storage space and
bandwith by making a smarter use of Docker's layering system.
Introducing a new 'base' image containing all the deps, including
GStreamer, acting as a base for the actual images.
As a result most of the actual content is now shared accross the same
Docker layer. This would save us from downloading/building all the deps
when updating images and will reduce storage and transfers for runners.
2020-04-28 15:25:48 +02:00
Guillaume Desmottes
8bc2cbd6b5
deny: fail on multiple versions
...
Will ensure to keep the ignore list up to date.
2020-04-28 12:19:21 +02:00
Guillaume Desmottes
33dbedf59c
deny: fail on multiple versions
...
Will ensure to keep the ignore list up to date.
2020-04-28 12:18:17 +02:00
Guillaume Desmottes
2aa529fbdf
ci: remove cargo-audit
...
It's been replaced by cargo-deny in all modules.
Don't regenerate images for now, it's not a problem to keep it around
until the next images update round.
2020-04-28 11:40:14 +02:00
Guillaume Desmottes
a6c20922ff
update documentation links
2020-04-28 11:17:24 +02:00
Jordan Petridis
cc0775388f
CI: Build docs and deploy them with gitlab pages
2020-04-27 16:54:41 +02:00
Guillaume Desmottes
466e0901bb
rtp: add dox feature
2020-04-27 16:54:41 +02:00
Guillaume Desmottes
acde0bab70
ci: add 'cargo deny' in schedules jobs
...
Fix #20
2020-04-27 14:30:47 +02:00
Guillaume Desmottes
299f8b5927
ci: run 'cargo outdated' in schedules jobs
2020-04-27 14:19:46 +02:00
Guillaume Desmottes
d31a9fece4
ci: install cargo-audit
...
Not needed for gstreamer-rs as it uses 'cargo deny' but still used by
gst-plugins-rs and gstreamer-rs-sys.
2020-04-27 14:12:26 +02:00
Guillaume Desmottes
e23ca02261
ci: fix trigger update request
...
Forgot to change the branch to 'master' instead of my custom test
branch.
2020-04-27 14:01:50 +02:00
Guillaume Desmottes
f66fcbde91
ci: use images from gstreamer-rs
...
Also:
- use the same patterns as gstreamer-rs and gst-plugins-rs ci.
- remove unused cross build template
- update from Rust 1.36 to 1.40
2020-04-27 13:17:38 +02:00
Guillaume Desmottes
1567513e8a
ci: force images rebuild
...
No change, will be used to ensure that gst-plugins-rs images are
actually updated.
2020-04-27 12:41:47 +02:00
Guillaume Desmottes
0d2829d955
ci: add deploy jobs triggering gst-plugins-rs image updates
...
Those jobs will trigger a rebuild of gst-plugins-rs when our images are
updated.
2020-04-27 11:14:29 +02:00
Guillaume Desmottes
e40e23b82c
ci: move image tags to its own file
...
Will be used by gst-plugins-rs to reference gstreamer-rs images as
bases.
2020-04-24 14:00:11 +02:00
Sebastian Dröge
6e431ce060
Run everything through rustfmt again
...
It got some improvements for applying consistent formatting to code
blocks in macros.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/468 >
2020-04-24 12:46:16 +03:00
Sebastian Dröge
020e2a4464
ci: Rebuild CI images for Rust 1.43
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/468 >
2020-04-24 12:31:10 +03:00
Sebastian Dröge
834b6d8d69
gstreamer/proxypad: Convert default pad functions to plain functions on ProxyPad instead of a trait
...
This allows to use them properly when overriding these functions.
2020-04-23 15:37:18 +03:00
Sebastian Dröge
47cc80b1ef
video: Assert if caption data passed when adding caption metas is empty
...
It will cause a critical warning otherwise.
2020-04-22 21:42:39 +03:00
alleynb
86e6d3afa4
tutorials/tutorial-6: Improve caps output
...
Fixed printing of pad capabilites in tutorial6.
Output now displays the capability lists eg:
layout:{ (string)interleaved, (string)non-interleaved }
The origional broken output was being displayed as:
layout:SendValue(Value(GString(Foreign(0x557140c99d00, 40))))
2020-04-21 12:01:41 +01:00
Guillaume Desmottes
932d4720c0
ci: fix CARGO_HOME caching
...
CARGO_HOME's semantic depends on when it's used in the pipeline:
- it's the install prefix when installing Cargo
- it's the crate cache location when building jobs
env.sh is sourced at the start of all jobs and was overidding the
CARGO_HOME path defined in the CI template for caching. Fix this by
moving the prefix install path to install-rust.sh.
2020-04-21 09:35:33 +00:00
Guillaume Desmottes
38b64473e9
ci: make clippy warnings fatal
2020-04-21 11:06:46 +02:00
Guillaume Desmottes
6a72f65b3b
gstreamer: ignore cognitive_complexity warnings
...
Those are just long tests.
2020-04-21 10:17:46 +02:00
Guillaume Desmottes
a12b51abd6
gstreamer: stream_collection: ignore new_ret_no_self clippy warning
2020-04-21 09:00:35 +02:00
Guillaume Desmottes
872024c372
fix option_as_ref_deref clippy warnings
2020-04-21 09:00:35 +02:00
Guillaume Desmottes
20b672eae3
ci: force git-fetch-with-cli
...
Workaround so fdo redirects actually work.
Fix https://gitlab.freedesktop.org/gstreamer/gst-ci/-/issues/71
2020-04-20 18:19:23 +02:00
Guillaume Desmottes
1295d9fc6a
ci: remove target/ as manual clean up
...
It seems that when a job is failing, target/ is not properly wiped out
from the ci container triggering later jobs to fail, see for example
https://gitlab.freedesktop.org/gdesmott/gstreamer-rs/-/jobs/2349943
Manually clean it up as after_script to hopefully workaround this
problem.
2020-04-20 18:04:55 +02:00
Guillaume Desmottes
932c940102
gstreamer: caps: add new_from_iter(_with_features)()
2020-04-20 17:12:24 +02:00
Guillaume Desmottes
97026d7f86
gstreamer: structure: add new_from_iter()
...
Allow to easily create a new Structure from an iterator.
Fix #250
2020-04-20 15:53:28 +02:00
Sebastian Dröge
caae679d6f
gstreamer: Add some API to calculate the next state convert state changes into their component states and back
2020-04-18 09:23:08 +03:00
Guillaume Desmottes
77af65634f
deny: ignore duplicated because of outdated glutin
2020-04-16 12:20:21 +02:00
Sebastian Dröge
47d839e58a
Switch from cargo-audit to cargo-deny
...
This provides a superset of the features, including license checks.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/238
2020-04-16 12:12:45 +02:00
Guillaume Desmottes
99f91167af
ci: build GStreamer instead of importing tarball
...
Makes it much easier to update to a new gst version.
2020-04-16 09:47:15 +02:00
Guillaume Desmottes
23545fcf7d
ci: no need to fetch gtk-rs checker history
2020-04-16 09:46:59 +02:00
Guillaume Desmottes
429962bdd7
ci: use fdo ci template
...
Build our own images instead of manually installing everything we need
for each job. This should hopefully speed up our ci and make it more
robust.
2020-04-16 09:46:57 +02:00
Sebastian Dröge
ada06502b5
gstreamer: Remove redundant stream/stream collection property getters
...
There are also actual functions for these and we had both enabled
because the properties are missing the "Since: 1.10" markers.
2020-04-15 14:40:37 +03:00
Sebastian Dröge
aea43c428c
gstreamer: Add Stream::debug() and StreamCollection::debug()
...
These provide more helpful debug output than just the pointer when
printing.
2020-04-14 17:31:54 +00:00
Sebastian Dröge
2ef7d70ba3
gstreamer: Enforce that stream collections are immutable after creation by using the builder pattern
2020-04-14 17:31:54 +00:00
Sebastian Dröge
78a81e2c73
gstreamer-video: ValidVideoTimeCode::add_interval() is guaranteed to return a valid timecode again
...
So change the return type from VideoTimeCode to ValidVideoTimeCode.
2020-04-14 17:24:11 +03:00
Sebastian Dröge
185eb188ca
Fix various signal handler trampoline usages
2020-04-13 19:24:04 +03:00
Sebastian Dröge
5021994237
Regenerate everything
2020-04-13 19:11:33 +03:00
Sebastian Dröge
ac27258478
Revert "gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert"
...
This reverts commit 6db70eaa4b
. Not needed
anymore with latest gir.
2020-04-13 19:09:12 +03:00
Sebastian Dröge
adb6f66df2
Update gir
2020-04-13 19:06:24 +03:00
Guillaume Desmottes
5de8fa89c4
ci: allow outdated job to fail
...
glutin and winit updates are pending.
2020-04-13 11:03:19 +02:00
Sebastian Dröge
92faaeacdb
Update minimum supported Rust version to 1.40
2020-04-12 19:47:49 +03:00
Sebastian Dröge
76a0410d41
Replace unneeded transmute calls with a safer alternative
2020-04-12 19:47:49 +03:00
Sebastian Dröge
d1665b8114
Regenerate with latest gir
2020-04-12 18:55:06 +03:00
Sebastian Dröge
83f2748eb9
Update gir
2020-04-12 18:42:57 +03:00
Guillaume Gomez
1ef3bf52d2
gstreamer: Add missing init calls in tests
2020-04-12 17:25:54 +03:00
Guillaume Gomez
6db70eaa4b
gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert
...
See https://github.com/gtk-rs/gir/issues/898
2020-04-12 17:25:54 +03:00
Guillaume Gomez
c07fe14191
gstreamer*: Add missing init checks
2020-04-12 17:25:54 +03:00
Guillaume Gomez
2f72261360
gitlab-ci: Add checks for missing init asserts
2020-04-12 17:25:52 +03:00
Guillaume Gomez
bfb4ec25c5
gitlab-ci: Add manual traits check
2020-04-12 17:25:30 +03:00
Guillaume Gomez
18b36f2d69
gstreamer*: Add missing manual traits
2020-04-11 21:56:45 +00:00
Sebastian Dröge
62e9af58c6
Fix some clippy warnings
2020-04-11 21:18:18 +03:00
Sebastian Dröge
d7ed8d1e35
gstreamer: Add Element::get_current_clock_time() and ::get_current_running_time()
...
This was added in GStreamer 1.18 but we can easily implement it
ourselves here for the time being and for older versions.
2020-04-11 21:12:03 +03:00
Sebastian Dröge
94ace06883
Remove deprecated std::error::Error::description() impls
2020-04-11 19:39:04 +03:00
Sebastian Dröge
7c19318097
gstreamer-audio: Simplify audio clipping meta test a bit
2020-04-11 19:36:06 +03:00
Sebastian Dröge
d05f8cace8
gstreamer: Add bindings for Plugin::get_plugin_name()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/248
2020-04-11 19:33:34 +03:00
Sebastian Dröge
4866739342
gstreamer-audio: Follow-up commit for updating audio clipping meta tests
2020-04-10 23:40:39 +03:00
Andrew Eikum
0bdfa0ff78
gstreamer-audio: Add support for GstAudioClippingMeta
2020-04-10 23:35:10 +03:00
Guillaume Desmottes
669bf98128
ci: run 'cargo outdated' in scheduled jobs
...
Automatically detect if a crate we are directly using is outdated.
2020-04-10 12:27:38 +02:00
Sebastian Dröge
62c0f5ef42
Use mem::ManuallyDrop instead of mem::forget() everywhere
...
It makes the intentions clearer and potentially results in simpler
assembly, at least in debug builds.
2020-04-09 16:57:06 +03:00
Sebastian Dröge
9f96c5e573
gstreamer/buffer: Unmap memory in flush() of the Write impl of the buffer cursor
...
This makes sure that any remaining data is actually written out as part
of the unmapping, which might be necessary depending on the memory type.
2020-04-07 13:47:04 +03:00
Sebastian Dröge
2fbb10ec92
gstreamer/buffer: Only unmap memory in buffer cursor seek impl if we have to move to a different memory
...
Prevents some unnecessary unmaps.
2020-04-07 13:45:36 +03:00
Sebastian Dröge
35f7c910a9
gstreamer/buffer: Refactor buffer cursor implementation with macros to reduce code duplication
2020-04-07 13:45:36 +03:00
Sebastian Dröge
42d09c2834
gstreamer/buffer: Move BufferCursor/BufferRefCursor into its own module
...
It's quite a bit of code and can be kept nicely separate.
2020-04-07 12:59:24 +03:00
Sebastian Dröge
5fc68e252d
gstreamer: Add missing BufferCursorRef re-export
2020-04-06 21:00:42 +03:00
Sebastian Dröge
ee3a8caa7d
gstreamer/buffer: Add various tests for the BufferCursor / BufferCursorRef
2020-04-06 20:15:51 +03:00
Sebastian Dröge
a884a419db
gstreamer/buffer: Add a BufferCursor / BufferCursorRef helper structs
...
This implements Read/Seek or Write/Seek and allows to read/write/seek
into the buffer without merging the memories inside.
The writer also only maps the memory write-only as compared to all other
ways of accessing the buffer/memory data in a writable way, which have
to map it read-write.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/425
for a similar API proposal for GStreamer core.
2020-04-06 20:15:35 +03:00
Sebastian Dröge
9b782b4dfa
gstreamer/buffer: Add tests for various memory related buffer API
2020-04-06 19:29:19 +03:00
Sebastian Dröge
9e0c980a49
gstreamer/buffer: Add iterators for iterating over the memories inside a buffer
...
With immutable, mutable and owned variant.
2020-04-06 19:28:28 +03:00
Sebastian Dröge
2b70db3a9e
gstreamer/buffer: Add BufferRef::peek_memory_mut() function
...
This gives a mutable reference to the given memory and fails if the
memory is not actually writable.
2020-04-06 19:27:40 +03:00
Sebastian Dröge
019afd54f9
Update for new from_glib_borrow signature
...
See https://github.com/gtk-rs/glib/pull/605
2020-04-05 18:48:48 +03:00
Sebastian Dröge
64368f0e75
Update gir
2020-04-05 18:48:48 +03:00
Sebastian Dröge
d3e93f172f
gstreamer-base/basetransform: Rename PreparedOutputBuffer and GeneratedOutput enums
...
PrepareOutputBufferSuccess and GenerateOutputSuccess is more consistent
with what we do elsewhere.
2020-04-02 19:58:47 +03:00
Sebastian Dröge
2006bd51cc
gstreamer-base: Add pushsrc subclassing bindings
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/244
2020-04-02 19:58:42 +03:00
Sebastian Dröge
13411b7461
gstreamer-base: Add basesrc alloc() vfunc
2020-04-02 19:58:42 +03:00
Sebastian Dröge
68332e854e
gstreamer-base: Add get_allocator() functions to aggregator, basesrc and basetransform base classes
2020-04-02 19:58:42 +03:00
Sebastian Dröge
0651bfb51b
gstreamer-audio/video: Make allocator optional in get_allocator() functions for encoder/decoder base classes
...
They can be and are often None.
2020-04-02 19:58:42 +03:00
Sebastian Dröge
0b0544da63
gstreamer-base/basesrc: Add support for filling the passed in buffer in the create function
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/242
2020-04-02 19:58:42 +03:00
Sebastian Dröge
7120d54a46
gstreamer/pad: Add tests for getrange functions
2020-04-02 19:58:15 +03:00
Sebastian Dröge
d7e6c2e37f
gstreamer/pad: Add support for filling the passed in buffer in the getrange function
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/242
2020-04-02 19:58:09 +03:00
Sebastian Dröge
7c2f3bafa0
gstreamer/pad: Add get_range_fill() and pull_range_fill() functions
...
These allow providing an already allocated, writable buffer.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/242
2020-04-02 19:57:28 +03:00
Vikram Fugro
0ca6be25c5
examples: remove the use of description() in Error
...
Replace the use of deprecated method "Error::description()"
with to_string() method
2020-04-01 17:30:17 +03:00
Sebastian Dröge
962da8a63d
gstreamer/datetime: Add TryFrom impls for converting between glib::DateTime and gst::DateTime
2020-03-22 14:01:32 +02:00
Sebastian Dröge
7dd0404927
gstreamer/datetime: new_from_g_date_time() can actually return NULL
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/411
2020-03-22 14:01:32 +02:00
Sebastian Dröge
ca6bcf36ab
examples: Stop using deprecated Error::description()
2020-03-19 14:20:52 +02:00
Sebastian Dröge
d0bfdda97f
examples: Update for new GLib boxed deriving API
2020-03-19 14:20:52 +02:00
Sebastian Dröge
8bb64bb825
gstreamer/log: Replace % with %% in the debug message
...
Otherwise gst_debug_log() will look for further arguments that don't
exist, and will likely crash or worse.
2020-03-18 23:54:46 +02:00
mur.at ML group
1ce02d4ce5
add libges-1.0-dev to debian/ubuntu build dependencies
2020-03-13 12:59:52 +01:00
Jan Alexander Steffens (heftig)
af27d73e5c
gstreamer: Return &'static str from StructureRef
...
The names are backed by Quarks and thus eternally valid.
2020-03-12 19:25:12 +01:00
Sebastian Dröge
8a80c2c574
Clean up dependencies for the different target version features
...
Should speed up the build on the CI a bit.
2020-03-10 11:10:20 +02:00
Sebastian Dröge
755ef9da33
Update CHANGELOG.md for 0.15.4
2020-03-10 10:57:33 +02:00
Sebastian Dröge
8e038572cb
gstreamer/caps: Assert on ANY caps in fixate() and work around bug in handling EMPTY caps
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/388
2020-03-09 13:02:20 +02:00
Sebastian Dröge
8d0fa62275
Minor cleanup in various places
2020-03-09 12:55:14 +02:00
Sebastian Dröge
9d5ae8ed14
gstreamer: Don't take mini objects by value for append() and similar operations
...
Compared to
let foo = Foo::bar(foo);
the new form is easier to follow
foo.bar();
2020-03-07 00:31:30 +02:00
Sebastian Dröge
a07d6f2823
Revert "tutorials: Temporarily pin quote to 1.0.2"
...
This reverts commit bcfc88a560
.
It was fixed in the meantime.
2020-03-06 11:17:17 +02:00
Sebastian Dröge
b1b0103b3b
app: Handle panicking callbacks by converting into an error message
...
And never calling the callbacks again but instead just failing.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/241
2020-03-05 14:05:36 +00:00
Philippe Normand
bcfc88a560
tutorials: Temporarily pin quote to 1.0.2
...
See https://github.com/rust-lang-nursery/failure/issues/342
gstreamer/gst-build#83
2020-03-05 13:28:41 +00:00
Sebastian Dröge
b21f576430
Add #[must_use] attribute to mutex guards / stream lock
...
It's usually a mistake if creating one of these and immediately dropping
them again as that would immediately unlock the mutex again.
2020-02-28 16:29:48 +02:00
Sebastian Dröge
98ecef7153
Make sure to hold MutexGuard for the remainder of the function in various places
...
Not assigning it to a variable would cause it to be dropped immediately
and the lock to be released again immediately.
2020-02-27 12:10:14 +02:00
Guillaume Desmottes
50234bb5e6
pbutils: encoding_profile: remove get_restriction() from Container API
...
Same rationale as the preceding commit, restriction isn't meant to be
used with container profiles.
2020-02-26 15:48:53 +05:30
Guillaume Desmottes
745aee629b
pbutils: encoding_profile: remove restriction setters from Container API
...
As stated in the GstEncodingProfile documentation, restrictions are not
meant to be used for container profiles. So remove the APIs allowing to
set one when building and to change it later on.
2020-02-26 15:47:09 +05:30
Sebastian Dröge
7e989631f8
rtsp_server: Add example making use of subclassing RTSPMediaFactory and RTSPMedia
2020-02-24 11:41:35 +02:00
Sebastian Dröge
51545b90f0
rtsp_server: Add support for subclassing RTSPServer and RTSPClient
2020-02-24 11:41:35 +02:00
Sebastian Dröge
b49f6320b0
rtsp_server: Add subclassing support for MediaFactory and Media
2020-02-23 10:26:53 +02:00
Sebastian Dröge
1a4487c245
rtsp_server/media: Implement take_pipeline() manually
...
Because of floating reference problems in the API that have to be worked
around.
2020-02-23 10:03:47 +02:00
Sebastian Dröge
042c1b5fd0
rtsp-server: Add bindings for RTSPThread
2020-02-23 10:03:47 +02:00
Sebastian Dröge
e0a71563ba
gstreamer/base_transform: Add support for implementing prepare_output_buffer()
...
This requires some acrobatics due to inconsistent ownership handling of
the buffers on the C side.
2020-02-22 18:55:56 +02:00
Sebastian Dröge
71497e77de
gstreamer/log: Allow any glib::Object as target for logging
...
gst::Object is not actually required. For plain glib::Objects only the
pointer address is printed instead of a name but it works fine.
2020-02-22 18:42:02 +02:00
Sebastian Dröge
e585b37923
Update CHANGELOG.md for 0.15.3
2020-02-15 15:23:12 +01:00
Sebastian Dröge
d58cf01e3a
Allow changing bus sync handler and appsink/src callbacks when running with 1.16.3 or newer
...
Previously it was not thread-safe to change them and could lead to
crashes but with 1.16.3 it is now.
Unsetting the bus sync handler before 1.16.3 will have no effect at all,
setting a new bus sync handler or appsink/src callbacks will panic.
This partially reverts 2f88dc6576
2020-02-15 10:25:19 +01:00
Sebastian Dröge
a2a1a87c46
video/video-info: Don't use bool return of gst_video_info_set_format()/align() when running with GStreamer < 1.11.1
...
The bool return value was added in 1.11.1 and using the return value
with older versions gives a random value that might be true or false,
and then causes spurious errors.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/236#note_399872
2020-02-14 13:12:41 +01:00
Sebastian Dröge
2f88dc6576
Only allow setting Bus sync handler and AppSrc/Sink callbacks once
...
Re-setting them is not thread-safe and can cause segfaults or worse.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/506
and https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/729
2020-02-09 21:37:03 +02:00
Sebastian Dröge
870978e286
base/base_transform: Fix minor clippy warning
...
warning: called `map(f)` on an Option value where `f` is a unit closure
--> gstreamer-base/src/subclass/base_transform.rs:683:13
|
683 | / (*parent_class)
684 | | .before_transform
685 | | .map(|f| f(element.to_glib_none().0, inbuf.as_ptr() as *mut _));
| |_______________________________________________________________________________^
|
= note: `#[warn(clippy::option_map_unit_fn)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn
2020-02-09 21:22:04 +02:00
Sebastian Dröge
09212add47
base/base_transform: Add before_transform/copy_metadata/transform_meta support for subclasses
2020-02-09 20:45:29 +02:00
Sebastian Dröge
e63e8b81ff
base/base_transform: Add submit_input_buffer/generate_output support for subclasses
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/155
2020-02-09 20:22:54 +02:00
Sebastian Dröge
cddccf9502
gstreamer/promise: Add Future constructor for Promise
...
This returns a tuple that basically works like a oneshot channel: the
Promise acts as the "sender" and once the promise resolves the
"receiver" contains the result.
2020-02-09 19:08:41 +02:00
Sebastian Dröge
80c93dfddb
video: Add Future variant of convert_sample_async()
...
Requires to be spawned on the GLib main context futures executor as the
function itself requires a GLib main context to call the callback.
2020-02-09 19:08:41 +02:00
Sebastian Dröge
c4e7ed513b
audio/stream_align: Don't require mutable references in getters
2020-02-09 18:26:42 +02:00
Sebastian Dröge
420150a4e3
base/flow_combiner: UniqueFlowCombiner::clear() should take &mut self
...
It's modifying the state of the combiner and requires a unique, mutable
reference.
2020-02-09 18:22:45 +02:00
kyasbal
4506973889
Fix install instruction for homebrew
2020-02-07 06:22:45 +00:00
Valmir Pretto
c0bab74e68
gstreamer-app: AppSink futures adapter
...
An adapter for AppSink that adds futures capabilities to it in the form of a Stream.
2020-02-04 10:53:04 -03:00
Valmir Pretto
2dd1bba479
gstreamer-app: AppSrc futures adapter
...
An adapter for AppSrc that adds futures capabilities to it in the form of a Sink.
2020-02-04 10:52:55 -03:00
Valmir Pretto
6263922b6d
gstreamer: BusStream tests
2020-02-04 10:33:34 -03:00
Valmir Pretto
7663589d94
gstreamer: BusStream cleanup
...
A few small readability changes
2020-02-04 10:33:25 -03:00
Sebastian Dröge
53dd841006
video: Add VideoConverter bindings
2020-01-30 23:17:06 +02:00
Sebastian Dröge
3c10986222
video: Autogenerate bindings for a few more enums
2020-01-30 23:12:07 +02:00
Sebastian Dröge
0b16556d9b
video/video-frame: Implement immutable frame functions more generically
2020-01-30 23:11:12 +02:00
Sebastian Dröge
8b3049d098
impl Clone for BufferPoolConfig and PlayerConfig
2020-01-30 23:10:26 +02:00
Sebastian Dröge
5102bfd324
Update CHANGELOG.md for 0.15.2
2020-01-30 00:40:56 +02:00
Sebastian Dröge
fe4f074e90
bus: Don't use the bus sync handler in the bus Stream to notify about messages being available
...
This is racy and can cause the consumer of the messages to never be
woken up anymore:
1. Waker is stored because no message on the bus
2. Sync handler is called, waker is woken up
3. Bus is polled again and no message is on it (yet),
new waker is registered
4. Bus stores the message from 2. in its queue (after
the sync handler has returned BusSyncReply::Pass)
5. No new message ever appears on the bus because all
this happened for the very last message
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/235
2020-01-28 23:39:36 +02:00
Sebastian Dröge
63a8afafa5
gstreamer: Use more accurate types for Seqnum, GroupId and MetaSeqnum
...
For the latter introduce an actual opaque type that allows using them
for comparison purposes but is not just a plain u64.
For the former represent them as opaque type around an NonZeroU32. 0 is
the invalid case and does not happen in the majority of functions. Where
it can happen, represent this case by using an Option<_> instead.
This makes it harder to mis-use these types.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/209
2020-01-25 00:07:36 +02:00
Sebastian Dröge
0bd2903896
Update CHANGELOG.md for 0.15.1
2020-01-23 08:28:19 +02:00
Sebastian Dröge
7230aee069
Switch everything from lazy_static to once_cell::Lazy
...
Fewer macros, faster compile-time and the Lazy type will likely end up
in the standard library in a similar form to this.
2020-01-22 19:57:41 +02:00
Sebastian Dröge
2b5f16391d
gstreamer/childproxy: Fix unused variable compiler warnings
2020-01-22 19:57:41 +02:00
Sebastian Dröge
196a9891cb
Regenerate with latest gir
...
This switches the RTP constant strings over to once_cell::Lazy
2020-01-22 19:57:41 +02:00
Sebastian Dröge
5f3d241b7d
Update gir
2020-01-22 19:57:41 +02:00
Sebastian Dröge
d3c77f400d
Don't derive Debug impls for generic types where the type parameters don't have to impl Debug themselves
...
This allows to use MappedBuffer and similar types to be properly
debug-printed.
Also change VideoFrame/VideoFrameRef/RTPBuffer from a tuple struct to a
struct with proper field names to make the code easier to understand.
2020-01-22 19:10:04 +02:00
Sebastian Dröge
280fe38fe4
gstreamer/childproxy: Don't require implementing child_added/removed() signal vfuncs
...
Most implementers will not care about default handlers for these signals
so requiring to implement them is only unnecessarily verbose.
2020-01-22 17:14:38 +02:00
Sebastian Dröge
b17f04e866
bus: Make bus Stream private and add functions on the bus directly for it
...
Also add a helper function that allows filtering the stream directly.
2020-01-22 10:05:36 +02:00
Sebastian Dröge
217bbc3e94
bus: Take the mutex before popping messages for the bus stream
...
Otherwise a message might arrive between popping, getting None and
locking the mutex for storing the waker. In that case we would never
be woken up.
2020-01-22 09:21:10 +02:00
Sebastian Dröge
aa29567171
gstreamer/element: Add call_async_future() that returns a future
...
The future would resolve into the return value of the closure that is
called asynchronously on the thread pool, and allows asynchronous
awaiting for it to finish.
let res = element.call_async(|element| {
element.set_state(gst::State::Playing)
}).await;
assert_eq!(res, Ok(gst::StateChangeSuccess::Success))
2020-01-20 12:03:59 +02:00
Guillaume Desmottes
01c4d08501
gstreamer: use thiserror crate
...
Make code simpler and fix deprecated warning when building on nightly as
Error::description is being deprecated.
2020-01-10 18:54:50 +05:30
Guillaume Desmottes
e151ee75f8
gstreamer: error: add tests
2020-01-10 18:54:50 +05:30
Guillaume Desmottes
1f79bf3e02
gstreamer: caps: Builder: prevent re-adding features
...
Rework the API to statically prevent users re-adding features or
adding features if any_features() has been previously called.
2020-01-10 15:09:06 +05:30
Guillaume Desmottes
fe5ebd82cc
gstreamer: caps: BuilderFull: prevent adding features if using any
...
Rework the API to statically prevent users adding extra features if the
builder has been created with builder_full_with_any_features(). It
doesn't make sense to add extra features if all are already included.
2020-01-10 14:21:23 +05:30
Guillaume Desmottes
a9adac85aa
gstreamer: pad: fix build on Windows
...
GstPadProbeInfo.id is a gulong which are 32 bits on Windows.
2020-01-09 10:14:21 +00:00
Guillaume Desmottes
38db96859b
gstreamer: add Caps::builder_full()
...
API to create a caps containing multiple structures.
Fix #231
2020-01-09 15:01:18 +05:30
Sebastian Dröge
775c5bfe27
gstreamer: Add getters/setters for BinFlags and fix flags API for PadFlags
...
The BinFlags API was accidentally used for PadFlags, allowing to set
BinFlags on pads which is not very useful.
2020-01-06 17:23:39 +02:00
Sebastian Dröge
8aac047af5
Use NonZeroU64/U32 for PadProbeId, NotifyId and DeviceMonitorFilterId
...
This allows for some further optimizations.
2020-01-05 11:09:46 +02:00
Guillaume Desmottes
c298577139
gstreamer: add MemoryRef::dump()
2019-12-24 09:15:34 +05:30
Sebastian Dröge
a418dcbe05
video: Use static inner lifetime for VideoCodecState<Readable>
...
It does not borrow from anything else and can be safely stored away.
Only the VideoCodecState<InNegotiation> is actively borrowing from the
element to ensure that it is only modified during negotiation in a safe
way.
2019-12-23 13:07:05 +02:00
Sebastian Dröge
68e7a4078e
Run clippy on --all-targets
...
Also ignore clippy::missing_safety_doc for now.
2019-12-22 12:10:27 +02:00
Sebastian Dröge
69be1ce2fc
Fix various new clippy warnings from 1.40
2019-12-22 12:10:27 +02:00
Sebastian Dröge
d26ffc2c21
Update version to 0.16.0
2019-12-19 00:48:08 +02:00
Sebastian Dröge
9878fe4f74
gstreamer-rtp: Add README.md
2019-12-19 00:47:09 +02:00
Sebastian Dröge
98dcb27abd
Update documentation
2019-12-18 19:15:21 +02:00
Sebastian Dröge
bb321f7fa8
Update CHANGELOG.md for 0.15.0
2019-12-18 19:15:21 +02:00
Sebastian Dröge
573055cb1e
gstreamer-video: Require &mut self for VideoCodecFrame functions that modify it
...
And add non-mutable getters for input/output buffer
2019-12-18 18:42:40 +02:00
Sebastian Dröge
12416a4031
gstreamer-base: Require &mut self for BaseParseFrame functions that modify it
...
And add non-mutable getters for input/output buffer
2019-12-18 18:38:29 +02:00
Sebastian Dröge
2ba5105b80
Implement Sync/Send for more types and don't implement Send for TypeFind
...
They can actually be shared with multiple threads at the same time
safely as all functions requiring an immutable reference are
thread-safe.
OTOH TypeFind can't be shared safely between different threads as not
all implementations of the TypeFind struct are thread-safe.
2019-12-18 18:37:44 +02:00
Sebastian Dröge
da8187b016
gstreamer-audio: Add subclassing bindings for AudioSrc
2019-12-18 16:07:32 +02:00
Sebastian Dröge
b182882c7e
gstreamer-audio: Generate bindings for AudioBaseSrc and AudioSrc
2019-12-18 16:07:28 +02:00
Sebastian Dröge
9657f4ce78
gstreamer-audio: Add Debug and Clone impls for AudioRingBufferSpec
2019-12-18 16:04:48 +02:00
Hans Ole Hatzel
df251de2a1
gstreamer-audio: Add subclassing bindings for AudioSink
2019-12-18 16:04:48 +02:00
Hans Ole Hatzel
d3577ab2ae
gstreamer-audio: Add bindings for AudioRingBufferSpec
...
Includes auto generated AudioRingBufferFormatType
2019-12-18 15:15:03 +02:00
Hans Ole Hatzel
da848d2946
gstreamer-audio: Generate bindings for AudioSink and AudioBaseSink
2019-12-18 15:14:50 +02:00
Hans Ole Hatzel
14a55dc73d
gstreamer-base/basesink: Provide default implementation for render
...
We need some classes derived from `BaseSink` to not enforce render being
implemented.
An example of this is AudioSink which only requires the user to
implement `write` but not `render`, so the default implementation
of render needs to be called.
2019-12-18 15:14:35 +02:00
Sebastian Dröge
be3c378f28
Use Results instead of Options where they signal an error instead of just a missing value
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 22:21:28 +02:00
Sebastian Dröge
68c48c1984
Update gir
2019-12-17 21:02:15 +02:00
Tony Jinwoo Ahn
700332dd3e
gstreamer-video: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 08:41:51 +00:00
Tony Jinwoo Ahn
c3b7f0f353
gstreamer-gl, gstreamer-pbutils, gstreamer-sdp: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 08:20:47 +00:00
Tony Jinwoo Ahn
62c0b689a6
gstreamer-base/{adapter,functions}, gstreamer-video/video_info: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-16 11:29:51 +00:00
Sebastian Dröge
0002f2e531
Add gstreamer-rtp-sys CHANGELOG.md
2019-12-16 11:31:52 +02:00
Sebastian Dröge
c9f736985c
Update CHANGELOG.md for 0.8.1
2019-12-16 11:31:51 +02:00
Sebastian Dröge
eaafbd14f7
Regenerate
2019-12-15 12:19:33 +02:00
Sebastian Dröge
653b7f1da4
Update gir-files to 1.16.2
2019-12-15 12:18:09 +02:00
Sebastian Dröge
78525333cc
Update gir
2019-12-15 12:17:32 +02:00
Sebastian Dröge
8b470e234c
Regenerate
2019-12-15 12:15:37 +02:00
Sebastian Dröge
63dd366c31
Update gir-files to 1.16.2
2019-12-15 12:12:32 +02:00
Sebastian Dröge
9441ce85b4
Update gir
2019-12-15 12:01:22 +02:00
Tony Jinwoo Ahn
3e3c5205db
gstreamer-video/video_info: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-15 08:36:56 +00:00
Tony Jinwoo Ahn
c563fb6f44
gstreamer-audio/audio_info: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-14 14:10:06 +00:00
Sebastian Dröge
90854eb047
base/basesrc: Add bindings for BaseSrc::get_times()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/228
2019-12-10 19:49:36 +02:00
Sebastian Dröge
f417d68820
Remove usage of glib_floating_reference_guard!()
...
It's not needed anymore.
2019-12-07 23:05:14 +02:00
Sebastian Dröge
2375c9da59
gstreamer/element: Don't steal floating references passed into release_pad()
...
They are apparently not part of this element so we can directly return
here instead of stealing the reference.
2019-12-07 22:58:26 +02:00
Sebastian Dröge
802fa4fcb4
gstreamer/bin: Take a strong reference of the element passed into remove_element()
...
It might be gone once we called into the parent class' implementation so
we need to keep a strong reference around here. Also we need to ensure
that we don't accidentally steal a floating reference from the caller
here: if the element is still floating it is apparently not part of this
bin and we can directly return FALSE.
2019-12-07 22:56:11 +02:00
Sebastian Dröge
bef1143df3
gstreamer/device: Preserve floating reference flag from create_element() parent class' implementation
2019-12-07 22:51:57 +02:00
Sebastian Dröge
84ac2ef073
bin: Use from_glib_none() in Bin::add() for subclasses
...
This way we take ownership of any floating references passed in here, as
required by the GstBin API, instead of just borrowing the reference and
having someone else sink it or not.
2019-12-04 18:49:12 +02:00
Ruben Gonzalez
ead607ab8e
gstreamer-audio: Add the missing constants for all the audio formats
...
Include not target_endian related to improve developer experience.
2019-12-03 15:14:20 +01:00
Tony Jinwoo Ahn
1f7bd78bb2
gstreamer-audio/audio_channel_position: Change function from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-11-25 16:48:27 +00:00
Tony Jinwoo Ahn
e4adef3ba7
gstreamer-gl/{egl,x11}: Change functions from returning Option to Result
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-11-24 20:55:54 +00:00
Tony Jinwoo Ahn
a7090b2a03
gstreamer-gl/wayland: Change a function from returning an Option to Results
...
Partial work for:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-11-23 12:51:38 +00:00
François Laignel
fd6bbf5929
Fully qualify glib_bool_error! in gst_loggable_error!
2019-11-21 19:18:01 +01:00
Sebastian Dröge
2c4c2c4784
sdp: Guard against NULL strings/arrays in the SDP data structures
...
While all these are invalid for a proper SDP, they appear as NULL when
creating a new, empty SDP.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/221
2019-11-21 09:39:02 +00:00
Sebastian Dröge
d7556131e3
ges: Get rid of now unneeded fragile dependency
2019-11-21 09:53:10 +02:00
Sebastian Dröge
175863668d
Regenerate everything with latest gir
2019-11-21 09:52:51 +02:00
Sebastian Dröge
cecf70af1b
Update gir
2019-11-21 09:51:19 +02:00
Sebastian Dröge
a783280dcf
base/basetransform: Update BaseTransformImpl::set_caps() return type for consistency
...
In all other base classes it is a Result instead of a bool, so do the
same here.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/225
2019-11-21 00:02:23 +02:00
Sebastian Dröge
8ac0f92d7d
Regenerate everything with latest gir
2019-11-19 11:49:46 +02:00
Sebastian Dröge
a6c69264b3
Update gir
2019-11-19 11:44:12 +02:00
Philippe Normand
80e01dbe3c
video: Simplify VideoMeta::add_full()
...
The n_planes value can be infered from the offset and stride slices size, which
both need to match.
Fixes #224
2019-11-18 18:15:03 +00:00
François Laignel
dc7937a8d4
Don't leak missing Safety doc clippy warnings
...
With rustc 1.40.0, clippy checks that the `unsafe` functions come with
a `Safety` section. When running clippy on a downstream crate, the
macros such as `gst_plugin_define!` leak the clippy warnings for the
unsafe functions.
Silence the warnings for now.
2019-11-18 10:25:06 +01:00
Sebastian Dröge
9f121b1f12
gstreamer/sample: Silence clippy warning
...
warning: methods called `new` usually return `Self`
--> gstreamer/src/sample.rs:107:5
|
107 | / pub fn new<'a>() -> SampleBuilder<'a> {
| |_____^
2019-11-14 12:11:10 +00:00
Sebastian Dröge
0c944cb26e
gstreamer: Add documentation to gst::deinit() about when it's safe to be called
2019-11-14 12:11:10 +00:00
Sebastian Dröge
8b687ab4a7
Remove header from the README.md about the move from github to gitlab
...
At this point everybody should've noticed.
2019-11-14 10:21:02 +00:00
Guillaume Desmottes
1206dc5b15
gstreamer: typefind: add binding for gst_type_find_get_length()
2019-11-14 09:33:29 +00:00
Sebastian Dröge
043af60126
iterator: Fix leak of the closure in Iterator::filter()
2019-11-13 12:18:21 +01:00
Sebastian Dröge
3d1b3211bf
promise: Add unit test for change func handling
2019-11-13 12:13:14 +01:00
Sebastian Dröge
d69e8e237f
promise: Remove unneeded feature gates
2019-11-13 12:05:25 +01:00
Sebastian Dröge
cd55f02e20
promise: Change change_func to get the actual reply of the promise passed
2019-11-13 11:40:41 +01:00
Sebastian Dröge
77c6741ae0
Update to futures 0.3 and require Rust 1.39
...
Also use async/await in the futures examples.
2019-11-11 12:18:49 +01:00
Guillaume Gomez
9e30687d8e
Fix glib reexports
2019-11-11 11:34:09 +01:00
Guillaume Gomez
a58cd4b5bc
Manual code fixes
2019-11-11 11:34:09 +01:00
Guillaume Gomez
457ac9118b
Regenerate with latest gir
2019-11-11 11:34:09 +01:00
Guillaume Gomez
da002aa98c
Fix generator
2019-11-11 11:34:09 +01:00
Guillaume Gomez
b69c117908
Update gir submodule
2019-11-11 11:34:09 +01:00
jerry73204
a26738bc41
appsink: Use FnMut instead of Fn for callbacks
...
They can only be called from a single thread at once.
2019-10-31 16:05:59 +01:00
Sebastian Dröge
ccd01b93bf
examples: Add an example for subclassing and providing Rust API on the subclass
2019-10-30 16:07:23 +01:00
Sebastian Dröge
452ea45c1b
video: Actually export is_video_overlay_prepare_window_handle_message() function
2019-10-29 19:40:32 +02:00
Sebastian Dröge
8dcf3fec20
gstreamer: Change Sample constructor to the builder pattern
...
Simplifies construction of Samples considerably.
2019-10-23 09:55:56 +03:00
Jordan Petridis
dc3a039a3b
Add license key for tutorials and examples
2019-10-22 16:36:32 +03:00
Jordan Petridis
d584c3ba23
CI: force install cargo audit
...
We are caching $CARGO_HOME in between runs, so an arbitrary
cargo audit binary might already exist in the environment.
Force install it so cargo doesn't complain and our binary
is guaranteed "fresh".
2019-10-21 14:20:42 +03:00
Sebastian Dröge
2d2459ed52
Export traits from the crate level and ensure that all traits are in the preludes
2019-10-17 13:30:35 +03:00
Guillaume Desmottes
69ed7cd630
ci: run cargo-audit
...
Can be used to detect vulnerabilities in deps, see
https://blog.rust-lang.org/inside-rust/2019/10/03/Keeping-secure-with-cargo-audit-0.9.html
Added libssl-dev as it's a build dep of one of audit's crate.
2019-10-10 10:34:07 +02:00
Sebastian Dröge
06a9f891bd
Update GStreamer to 1.16.1 and explicitly use Debian buster docker images
2019-10-05 00:35:21 +03:00
Sebastian Dröge
7327666652
Update minimum Rust version to 1.36, GStreamer to 1.16.1 and explicitly use Debian buster docker images
2019-10-05 00:34:59 +03:00
Sebastian Dröge
132eb891ed
Fix dox feature and docs.rs Cargo.toml metadata
2019-10-05 00:13:29 +03:00
Sebastian Dröge
991f2e1576
Update and regenerate everything with latest gir
2019-10-05 00:03:57 +03:00
Sebastian Dröge
d2930aed0b
Regenerate everything with latest gir-files
2019-10-05 00:02:07 +03:00
Sebastian Dröge
419dfd7e28
Update gir-files from GStreamer 1.16.1 release
2019-10-04 23:59:49 +03:00
Sebastian Dröge
1bd4efe6e5
Fix up dox feature
...
It should depend on the highest API version we support.
2019-10-04 19:29:37 +03:00
Sebastian Dröge
c130f620c3
Regenerate everything with latest gir
2019-10-04 19:27:46 +03:00
Sebastian Dröge
3f66e87839
Fix docs.rs Cargo.toml metadata name
2019-10-04 19:22:59 +03:00
Sebastian Dröge
6fac36a355
Regenerate everything with new gir-files
2019-10-04 19:21:53 +03:00
Sebastian Dröge
d9e5f9d469
Update gir-files from GStreamer 1.16.1 release
2019-10-04 19:17:21 +03:00
Sebastian Dröge
2484fe12d8
Update gir-files from gstreamer-rs
2019-10-04 19:08:29 +03:00
Sebastian Dröge
7ab4e8dafd
examples: Update gl_generator dependency to 0.14
2019-10-04 09:30:51 +00:00
Fernando Jimenez Moreno
591468f53b
gstreamer/log: Use non-panicking UTF8 conversion in log handler
...
Make sure that `log_handler` and `DebugMessage::get` do not panic while
processing non-UTF8 characters by using lossy instead of strict UTF8
string conversion.
2019-10-04 09:03:28 +00:00
Sebastian Dröge
107ae588f2
examples: Fix various clippy warnings
2019-10-04 11:01:55 +03:00
Sebastian Dröge
06cfcd57fc
Move to_string() methods into the Display trait or rename to to_str(), move from_string() into the FromStr trait
...
Fixes clippy warnings, prevents confusing errors and is more consistent.
The Display trait provides a to_string() method by itself and FromStr
provides from_str().
2019-10-04 11:01:55 +03:00
Sebastian Dröge
861f5c1e1a
Re-run cargo fmt
...
Minor changes in the latest version.
2019-10-04 08:19:24 +03:00
Sebastian Dröge
19b3427909
clock: Move wake_id() from ClockId to ClockImpl
...
This shouldn't really be called on anything outside a Clock
implementation.
2019-09-26 11:25:52 +03:00
Sebastian Dröge
6abb0d3506
gstreamer: Add support for subclassing gst::SystemClock
2019-09-25 17:22:15 +03:00
Sebastian Dröge
bacf4998ce
clock: Add some more ClockId API for being able to implement clock subclasses
2019-09-25 17:22:15 +03:00
Sebastian Dröge
4e60a0aea4
clock: Add support for setting/getting/unsetting clock flags
2019-09-25 17:22:15 +03:00
Sebastian Dröge
1faf41986b
gstreamer: Add bindings for ClockEntryType and ClockFlags
2019-09-25 17:22:15 +03:00
Sebastian Dröge
1c8b2c671b
gstreamer: Add support for subclassing gst::Clock
2019-09-25 17:22:15 +03:00
Sebastian Dröge
74b05f0272
gstreamer: Add support for implementing gst::TagSetter interface
2019-09-25 17:22:11 +03:00
Sebastian Dröge
eda3539330
gstreamer: Add support for implementing gst::Preset interface
2019-09-25 16:11:54 +03:00
Sebastian Dröge
fc0fc99d1c
audio/video: Fix some clippy warnings
...
warning: use of `unwrap_or` followed by a function call
--> gstreamer-audio/src/subclass/audio_encoder.rs:360:18
|
360 | .unwrap_or(element.proxy_getcaps(None, filter))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| help: try this: `unwrap_or_else(|| element.proxy_getcaps(None, filter))`
2019-09-24 15:03:45 +03:00
Jan Alexander Steffens (heftig)
29710d9970
gstreamer: Assert that FromValueOptional works as expected
...
Fails without the preceding patch.
2019-09-24 10:34:44 +00:00
Jan Alexander Steffens (heftig)
dca2cc1c5d
gstreamer: Remove bad asserts in two impl FromValueOptional
...
These prevented actually getting a None out of a Value which contains a
NULL.
2019-09-24 10:34:44 +00:00
Jan Alexander Steffens (heftig)
eaacee49de
iterator: Simplify StdIterator a bit
2019-09-24 11:31:28 +02:00
Sebastian Dröge
79d3888c3d
Update CHANGELOG.md for 0.14.5
2019-09-17 15:41:12 +03:00
Sebastian Dröge
0cfe6c58a6
Minor cleanup to gitlab-ci.yml
...
Don't special-case the features of gstreamer-base and gstreamer-video
anymore, they have the same as most other crates now.
2019-09-17 11:05:57 +03:00
Sebastian Dröge
c19c9b1d8a
audio/video: Add decoder base class error macros
2019-09-15 11:44:08 +03:00
Sebastian Dröge
1348127ca8
audio/video: proxy_getcaps() can't return None and get_caps() vfuncs must not return None
2019-09-14 11:05:55 +03:00
Sebastian Dröge
bddb49443d
audio/video: Use proxy_getcaps() function for default handling of getcaps() vfunc
2019-09-14 11:01:50 +03:00
Sebastian Dröge
b238d07db0
audio: Add support for subclassing AudioEncoder and AudioDecoder
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/159
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/158
2019-09-14 09:00:52 +03:00
Sebastian Dröge
ea95d1e479
video: Add support for VideoDecoder::drain() vfunc
2019-09-13 23:04:10 +03:00
Sebastian Dröge
8160521574
video: Add support for getcaps(), negotiate(), src/sink_query/event() vfuncs in VideoEncoder/Decoder
2019-09-13 22:59:31 +03:00
Sebastian Dröge
4c52996fc8
video: Return NotNegotiated if setting the output state fails
2019-09-13 22:59:31 +03:00
Sebastian Dröge
2d5b6de590
video: Add VideoEncoder/VideoDecoder::get_allocator()
2019-09-13 22:59:31 +03:00
Fernando Jimenez Moreno
de7a9dee1e
Fix Windows build
2019-09-13 09:55:32 +02:00
Sebastian Dröge
7868018abb
gstreamer/element: Add support for ElementClass::add_metadata()
2019-09-12 10:18:23 +03:00
Sebastian Dröge
6dcd255815
gstreamer/deviceprovider: Add support for subclassing gst::DeviceProvider
2019-09-12 10:18:23 +03:00
Sebastian Dröge
9df56faf48
gstreamer/device: Add support for creating gst::Device subclasses
2019-09-11 22:46:15 +03:00
Sebastian Dröge
8208ee0891
gstreamer/device: Device::create_element() is transfer floating
, not transfer full
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/444
2019-09-11 22:41:59 +03:00
Sebastian Dröge
52509b4b95
Remove subclassing feature and make it the default
2019-09-09 11:51:07 +03:00
Sebastian Dröge
ea367bac14
Fix or ignore various clippy warnings
...
And ignore some common warnings we don't care about in general, while
also making clippy errors fail the build.
2019-09-07 19:39:19 +03:00
Jan Alexander Steffens (heftig)
105412b5a0
Iterator: Test that Iterator can be used in a for loop
...
`for x in foo` depends on foo implementing IntoIterator.
2019-09-05 11:01:16 +02:00
Jan Alexander Steffens (heftig)
7a12c4d5e1
Iterator: Replace ad-hoc fn iter with impl IntoIterator
...
std has a trait for converting things into Iterators. Make use of it.
2019-09-05 10:33:54 +02:00
Jan Alexander Steffens (heftig)
a30935ad1f
Iterator: Add a wrapper implementing std's Iterator
...
Transposing the item type lets us be a std-compatible Iterator.
The iterator is automatically resynced when resuming iteration after
yielding Resync. This lets some combinators like `collect` and `find`
work properly.
2019-09-04 14:34:05 +02:00
Jan Alexander Steffens (heftig)
db61ec4a6b
Iterator: Manually implement Debug
...
The derived implementation is restricted to `where T: Debug`, but the
iterator doesn't actually contain a value of type T.
2019-09-04 14:34:04 +02:00
Jan Alexander Steffens (heftig)
8db9926107
log_handler test: Ignore unknown categories
...
Tests run parallel in multiple threads. This makes the log_handler test
flaky because it may see log messages triggered by other threads. Make
the handler ignore all messages not in the category we care about.
2019-09-04 14:02:55 +02:00
Vivia Nikolaidou
6488c42890
element: Added num_pads, num_src_pads, num_sink_pads
...
Exposing the corresponding struct element in GstElement
2019-09-03 17:14:47 +03:00
François Laignel
8af1da1a4e
Fully qualify inner macros for exported macros...
...
... otherwise they can't be resolved in dependent crates compiled
for edition 2018.
2019-09-02 09:06:29 +00:00
Mathieu Duponchelle
d3d503cea6
subclass/element: expose set_clock and provide_clock vmethods
2019-08-31 02:05:21 +02:00
François Laignel
1367becfaf
DateTime: manual impl for PartialOrd
, PartialEq
and Debug
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/217
2019-08-21 12:34:15 +02:00
François Laignel
f80abb0ba9
Exclude gir
from workspace
so that we can run it
2019-08-19 18:46:49 +02:00
François Laignel
ced522ed08
Implement ser / de for Date Values, Structure fields and Tags
2019-08-19 15:51:42 +02:00
François Laignel
c74eef374a
Fix serde for Values
with optional Type
s
...
Attention: these changes induce breaking changes for the serde
representation of some types.
Serialization of `Value`s used to rely on the `get` function
followed by an `unwrap`. This means that optional types couldn't
be serialized when they were `None`.
This commit distinguishes between the optional `Value` `Types` and
the ones that always return some value.
The `Value`s, `Structure` fields and `Tag`s with following types are
now represented as `Option`s:
- `Buffer`
- `DateTime`
- `Sample` (note: this type is used for `Tag` images)
- `String` (except for `Tag`s - see the comment in `tags_serde.rs`).
The representations for these `Type`s remain unchanged when they are
used in-place (not as part of a `Value`).
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/215
2019-08-19 15:34:24 +02:00
François Laignel
26423a069c
structure::tests: use error constructors
2019-08-16 15:04:01 +02:00
Sebastian Dröge
f050750b5e
Update CHANGELOG.md for 0.14.4
2019-08-14 22:48:16 +03:00
Mathieu Duponchelle
6d3cf44573
gstreamer-rtp: initial RTPBuffer bindings
2019-08-14 18:01:00 +00:00
Mathieu Duponchelle
ee014a6df2
Generate initial bindings for gstreamer-rtp
...
This mostly wraps enums, flags, and constants, will wrap RTPBuffer
next
2019-08-14 18:01:00 +00:00
Sebastian Dröge
85d01e853e
baseparse/transform/aggregator: Add constants for custom flow returns
2019-08-14 20:26:22 +03:00
Sebastian Dröge
eddf4a61ff
videoencoder/decoder: Add constants for the NEED_DATA custom flow returns
2019-08-14 20:22:55 +03:00
Sebastian Dröge
5c53f10135
videoencoder: Allow passing None to finish_frame()
2019-08-14 20:22:53 +03:00
Sebastian Dröge
e00781309b
gstreamer/element: Use from_glib_none() for the release_pad() trampoline
...
The reference to the pad we get passed is not guaranteed to be valid for
the whole scope of release_pad(). It might be the last reference as
owned by GstElement, and gst_element_remove_pad() would destroy it then.
2019-08-14 11:58:05 +03:00
Sebastian Dröge
2829c7ee2f
gstreamer: Add StructureRef::get_optional()
...
This only returns Err on type mismatches. If the field does not exist or
None it returns None, otherwise the value.
StructureRef::get() returns Err also if the field does not exist.
2019-08-13 18:30:40 +03:00
Sebastian Dröge
39ef834cfe
examples: Fix compilation after GValue API changes
2019-08-13 18:30:40 +03:00
Sebastian Dröge
22d8828015
player: Fix feature flag for gstreamer-player-sys
2019-08-13 18:30:40 +03:00
Sebastian Dröge
cd4ae139d0
Explicitly enable the features we want to test on the CI
2019-08-13 18:30:40 +03:00
Sebastian Dröge
1b860825ee
Update feature flags of all dependencies to include the same version as for the crate itself
...
This improves build times as it allows cargo to reuse more previous
build results when building crates separately.
Also remove the serde-pickle dependency. It was only used in a single
test and caused pulling in of quite a few dependencies.
2019-08-13 16:46:08 +03:00
Sebastian Dröge
da9db6b80d
Improve features selection in Cargo.toml
...
All dependencies now also are compiled with the same version feature as
the crate itself, allowing for more caching of build results by cargo.
2019-08-13 16:23:05 +03:00
François Laignel
514a05accd
Manual update for new Value::get
signature
2019-08-13 10:57:32 +02:00
Mathieu Duponchelle
f8cebe8aa9
Generate bindings for gstreamer-rtp
2019-08-12 23:48:06 +02:00
François Laignel
5d012945df
Regen
2019-08-11 10:43:30 +02:00
François Laignel
3cf034d94b
Update gir
2019-08-10 19:19:56 +02:00
François Laignel
26fda95a54
Fix functions unit tests for v < 1_12
2019-08-08 19:38:42 +02:00
Sebastian Dröge
51ea339a19
Regenerate with latest gir
2019-08-05 13:08:01 +03:00
Sebastian Dröge
4cfcba0811
Update gir
2019-08-05 12:55:29 +03:00
Sebastian Dröge
1eb5525a27
Update array-init to 0.1 and gl_generator to 0.13
2019-07-24 14:23:15 +03:00
Josh Matthews
0e36ac5205
Add high level bindings for adding new log handlers and removing the default handler.
2019-07-22 16:06:41 +00:00
Sebastian Dröge
fcc361f920
gstreamer: Add bindings for gst::calculate_linear_regression()
2019-07-17 00:24:13 +03:00
Sebastian Dröge
eb59456ae3
Update CHANGELOG.md for 0.14.3
2019-07-16 12:47:15 +03:00
Sebastian Dröge
007f80ca32
buffer: Allow setting/unsetting buffer flags
...
As there are extension flags types, we need separate setter/unsetter
functions for the flags, or otherwise we would always clear the
extension flags types (e.g. GstVideoBufferFlags).
2019-07-16 11:51:23 +03:00
Sebastian Dröge
e3282c27f1
video: Generate VideoBufferFlags and add a extension trait for setting/getting them on buffers
2019-07-16 11:51:23 +03:00
Sebastian Dröge
36b0cafc5e
Update CHANGELOG.md for 0.14.2
2019-07-15 20:03:48 +03:00
Sebastian Dröge
ae58a469d1
meta: Add support for ReferenceTimestampMeta
2019-07-14 22:32:10 +03:00
Sebastian Dröge
d8325212f4
Fix various clippy warnings
2019-07-11 22:02:01 +03:00
Sebastian Dröge
f63d50546a
Don't use ONCE_INIT anymore now that Once::new() is const
2019-07-11 17:56:50 +03:00
Sebastian Dröge
424a87efbf
Use MaybeUninit::zeroed() everywhere possible instead of mem::zeroed()
2019-07-11 17:56:50 +03:00
Sebastian Dröge
3a8d05075d
Switch everything from mem::uninitialized() to MaybeUninit or mem::zeroed()
...
And also fix a few cases where mem::uninitialized() was simply wrong to
use.
2019-07-11 17:56:50 +03:00
Sebastian Dröge
3ea9a435e2
Update minimum supported Rust version to 1.36
2019-07-10 11:21:53 +03:00
Sebastian Dröge
bde6a04780
Regenerate everything with latest gir
2019-07-10 11:21:28 +03:00
Sebastian Dröge
606525b430
Update gir
2019-07-10 11:17:55 +03:00
Sebastian Dröge
dcbf68e9e7
Update CHANGELOG.md for 0.14.1
2019-07-06 23:57:28 +03:00
Sebastian Dröge
9a3e7d0aa9
gstreamer/format: Fix serde serialization unit test
...
Regression from fdb95f0033
2019-07-06 10:19:03 +03:00
Sebastian Dröge
04ed22a356
examples/futures: Use future::pending() instead of future::empty()
...
It was renamed in the last release.
2019-07-06 09:56:34 +03:00
Sebastian Dröge
f7cf709062
tutorials/basic-tutorial-5: Make sure to only declare GDK C functions for the right platform
...
Otherwise linking might fail depending on the compiler flags if the
linker does not remove all references to unused code.
2019-07-06 02:38:58 +03:00
Sebastian Dröge
39ea788835
examples/gtkvideooverlay: Make sure to only declare GDK C functions for the right platform
...
Otherwise linking might fail depending on the compiler flags if the
linker does not remove all references to unused code.
2019-07-06 02:38:58 +03:00
Sebastian Dröge
27f0d86068
Run stable clippy in gitlab CI again and also build all features on stable
...
Now that futures are stable in 1.36 we can do that again.
2019-07-04 17:28:15 +03:00
Guillaume Desmottes
f84e94db78
audio: AudioInfo: display format info in Debug
2019-07-03 15:27:30 +02:00
Guillaume Desmottes
6c1392220d
audio: implement proper Debug on AudioFormatInfo
2019-07-03 15:25:40 +02:00
Guillaume Desmottes
86f7a1dd9b
video: VideoInfo: display format info in Debug
2019-07-03 14:32:43 +02:00
Guillaume Desmottes
71414fe052
video: implement proper Debug on VideoFormatInfo
2019-07-03 14:23:58 +02:00
Sebastian Dröge
38f3d3eff2
video-info: Use gst_video_info_set_interlaced_format() when building for 1.16 and having an interlace-mode set
...
This ensures that the plane information is filled correctly.
2019-06-26 12:42:33 +03:00
Sebastian Dröge
6871e501db
webrtc: Generate various new enum types that were added in 1.14.1/1.16
2019-06-25 19:20:37 +03:00
Sebastian Dröge
e0d345fbb4
Add missing versions to new WebRTC enum types
2019-06-25 19:17:36 +03:00
Sebastian Dröge
28a24a4fc0
Update versions to 0.15.0
2019-06-24 20:53:05 +03:00
Sebastian Dröge
e10df81166
Update documentation
2019-06-24 20:52:03 +03:00
Sebastian Dröge
4513eb22c7
Remove unused subclassing configuration from toml files
2019-06-24 20:52:03 +03:00
Sebastian Dröge
fa6cb789cd
Update CHANGELOG.md for 0.14.0
2019-06-24 20:52:03 +03:00
Sebastian Dröge
47f0940b44
Regenerate everything with latest gir
2019-06-24 20:52:03 +03:00
Sebastian Dröge
949b511bfc
Update gir
2019-06-24 20:52:03 +03:00
Sebastian Dröge
3dc291d51a
Update versions to 0.9.0
2019-06-24 19:43:55 +03:00
Sebastian Dröge
018b0ee7c1
Update CHANGELOG.md for 0.8.0
2019-06-24 19:43:25 +03:00
Sebastian Dröge
50d33513ea
Regenerate with latest gir
2019-06-24 19:43:25 +03:00
Sebastian Dröge
0aebe626b1
Update gir
2019-06-24 19:43:25 +03:00
Guillaume Desmottes
24d9dc6209
gstreamer: tags: make call to to_string() explicit
...
This one was actually working but better to be safe as it may be
ambigious.
2019-06-18 17:11:24 +05:30
Guillaume Desmottes
40d2db7095
gstreamer: caps: make call to to_string() explicit
...
This one was actually working but better to be safe as it may be
ambigious.
2019-06-18 17:11:24 +05:30
Guillaume Desmottes
cd16337874
video: video-info: fix Display implementations
...
We were calling the blanket implementation of ToString, which is using
Display, rather than our own, resulting in an infinite recursion.
Also a couple of to_string() implementation were using the wrong
glib conversion as they actually return a 'const gchar *'.
2019-06-18 17:11:24 +05:30
Guillaume Desmottes
e81b5717e9
audio: fix AudioFormat Display implementation
...
We were calling the blanket implementation of ToString, which is using
Display, rather than our own, resulting in an infinite recursion.
2019-06-18 17:11:24 +05:30
Guillaume Desmottes
af65497c39
video: fix VideoFormat Display implementation
...
We were calling the blanket implementation of ToString, which is using
Display, rather than our own, resulting in an infinite recursion.
Fix #208
2019-06-18 17:11:24 +05:30
Sebastian Dröge
856a5a25e8
pbutils: Fix build after EncodingContainerProfileExt stopped being generated
...
It's a final type and there can't be any subclasses, so there should not
be any extension trait.
2019-06-18 14:01:52 +03:00
Sebastian Dröge
b87ffa17bb
Run rustfmt also over all the generated code
2019-06-18 13:12:00 +03:00
Sebastian Dröge
e5aa6f59f9
Regenerate everything
2019-06-18 13:10:46 +03:00
Sebastian Dröge
93dc69f3f3
Add generator.py from gstreamer-rs-sys
2019-06-18 13:10:24 +03:00
Sebastian Dröge
ac2cf29fb1
Run cargo fmt
as part of generator.py
2019-06-18 13:07:49 +03:00
Sebastian Dröge
8f6196c629
Add gir submodule
2019-06-18 13:07:04 +03:00
Sebastian Dröge
be0f64ce93
Run everything through rustfmt
2019-06-18 13:04:39 +03:00
Sebastian Dröge
77a9f4b459
Remove ARM/Windows builds from the CI and add cargo fmt
step
...
The ARM/Windows cross-builds were not too useful on their own and we
should rather set up proper CI for them.
2019-06-18 13:03:55 +03:00
Sebastian Dröge
78c1f50b53
Regenerate everything with latest gir
2019-06-18 13:02:27 +03:00
Sebastian Dröge
8e52090356
Fix generator script to actually handle the y/N question as advertised
2019-06-18 12:56:40 +03:00
Sebastian Dröge
8a907825e0
Update gir
2019-06-18 12:55:33 +03:00
Guillaume Desmottes
c3ccec67eb
video: turn VIDEO_MAX_PLANES to an usize
...
More convenient to use.
2019-06-18 13:30:59 +05:30
Guillaume Desmottes
840d1847a1
video: add VIDEO_MAX_PLANES constant
2019-06-18 10:57:58 +05:30
Guillaume Desmottes
491eaf3a73
video: VideoInfo: implement align()
2019-06-18 09:38:43 +05:30
Sebastian Dröge
4f024af7d6
gstreamer/serde: Fix compilation with serde feature enabled
2019-06-06 09:25:19 +03:00
Sebastian Dröge
d1e562b9f6
Explicitly add dyn
keyword to trait objects
...
Trait objects without are deprecated with the latest nightly and this
makes it more clear that we're doing dynamic dispatch anyway.
2019-06-06 09:09:34 +03:00
Guillaume Desmottes
7a69a1137c
gstreamer: plugin_feature: use Rank enum
2019-06-04 12:56:18 +03:00
Guillaume Desmottes
1cd733fb0b
gstreamer: allow to register using Rank enum directly
...
Prevent user to have to cast to a u32 manually.
2019-06-04 12:50:43 +03:00
Sebastian Dröge
2c31baaa0c
gstreamer: Implement Add<u32> for gst::TypeFindProbability and fix comparison
...
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge
620a9b2a95
gstreamer: Implement Add<u32> for gst::Rank and fix comparison
...
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge
d44c293753
Use TryFrom/TryInto traits where it makes sense instead of our previous ad-hoc solutions
2019-06-03 18:42:34 +03:00
Sebastian Dröge
fdb95f0033
gstreamer/format: Implement formatted value arithmetic with overflow checks
...
We have a value to represent invalid/overflow anyway, so let's make sure
that all operations are actually not overflowing and if they do we
assigned that value to the result.
2019-06-03 08:25:43 +00:00
Sebastian Dröge
fbcdf90386
gstreamer/format: Add various other arithmetic operation impls for the different formatted values
...
This includes gst::ClockTime.
2019-06-03 08:25:43 +00:00
Sebastian Dröge
b2ffe98d59
gstreamer/fraction: Add impls for various other arithmetic operations on fractions
...
Any arithmetic operation on plain values or references in any order
should be possible now, and on fractions with i32.
2019-06-03 08:25:43 +00:00
Guillaume Desmottes
c774bd8114
base: add bindings for GstBaseParse
...
Fix #157
2019-06-01 13:04:12 +05:30
Guillaume Desmottes
e9fbbc2b40
ci: bump minimum Rust version to 1.34
...
Needed for TryFrom.
2019-06-01 11:57:15 +05:30
Sebastian Dröge
e5d0afee02
video: Add pack/unpack func bindings
2019-05-28 09:26:44 +02:00
Sebastian Dröge
0147f03344
audio: Cast fewer points to *mut pointers in pack/unpack func bindings
2019-05-28 04:59:27 +02:00
Sebastian Dröge
1c1533d076
check: Fix compilation with v1_16 feature enabled
2019-05-28 04:46:41 +02:00
Sebastian Dröge
37071c9d60
gstreamer: Fix build with serde feature enabled
2019-05-28 04:35:12 +02:00
Sebastian Dröge
004ce5d392
gstreamer: Re-export the paste crate for the gst_plugin_define! macro
...
And only depend on the paste crate if the subclass feature is requested.
2019-05-27 22:46:26 +02:00
Sebastian Dröge
faa6467d7a
gstreamer: Export new 1.14+ plugin symbols if configured for 1.14+
...
This is also needed for static linking on Android to work correctly.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/154
2019-05-27 20:22:05 +00:00
Arun Raghavan
61b1822c95
gstreamer: Fix URIHander::set_uri annotation
...
We don't actually accept a NULL uri, so it doesn't need to be an Option,
and using &str instead of String is more efficient.
2019-05-25 19:12:42 +02:00
Sebastian Dröge
4798b4bcc9
video: Don't require the input buffers of the video codec frames to be writable
2019-05-25 14:13:06 +02:00
Sebastian Dröge
bc082ba56c
video: Don't unref video codec state in set_format()
2019-05-25 13:02:41 +02:00
Sebastian Dröge
be9434e029
video: Add finish() virtual function for video encoder/decoder
2019-05-25 11:25:56 +02:00
Sebastian Dröge
7a0bc76668
video: Add VideoEncoder bindings
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/160
2019-05-25 10:11:06 +02:00
Sebastian Dröge
4096869075
Update byte-slice-cast to 0.3
2019-05-24 13:26:49 +02:00
Vivia Nikolaidou
4a8e860a9e
gstreamer-video: Expose VideoBufferPool
...
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/12
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
6461a3abaa
buffer_pool: Add {get,set}_allocator bindings
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
32e1d68d36
allocator: Expose GstAllocator
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
922af1d606
Add GstMemory bindings
...
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/12
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
044d931d01
flags: Expose GstMemoryFlags
2019-05-24 10:32:57 +00:00
Sebastian Dröge
059860c744
Allow clippy job to fail in the CI for now
2019-05-24 10:04:16 +00:00
Sebastian Dröge
b5dcbe3897
gstreamer/proxypad: Move default functions to extension trait
2019-05-24 10:04:16 +00:00
Sebastian Dröge
86e969d964
Remove various Into<Option<_>> trait bounds from functions
...
In autogenerated code these were already replaced but some manual code
still kept them.
2019-05-24 10:04:16 +00:00
Sebastian Dröge
6cef32a4dd
Change various mini object references to references to the refcounted object
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/204
2019-05-24 10:04:16 +00:00
Sebastian Dröge
e6f65a5032
gstreamer/miniobject: ToOwned::to_owned() on references has to create a copy
...
Otherwise it's possible to create a new owned reference from a mutable
reference, and then there is a mutable and immutable reference to the
same data at the same time, which is simply not allowed.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/204
2019-05-24 10:04:16 +00:00
Guillaume Desmottes
c766f16403
video: add GST_BUFFER_POOL_OPTION_VIDEO_*_META constants
2019-05-23 15:10:42 +02:00
Guillaume Desmottes
47121fe9d6
gstreamer-video: VideoDecoder bindings
...
The VideoCodecFrame and VideoCodecState is C API is unfortunatelly unsafe
by design. So we workarounded it by ensuring the decoder stream lock was
hold while user has a writable reference on those objects.
Based on previous work from Thibault Saunier and Philippe Normand.
Fixes #161
2019-05-22 20:40:57 +00:00
Sebastian Dröge
a986914bad
Use Option<&T> instead of &Option<T> everywhere
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/203
2019-05-22 23:27:13 +03:00
Víctor Manuel Jáquez Leal
32d7f42d67
Remove unused extern crates
...
Latest versions of nightly rust compiler can detect unused extern
crates, and this commit removes those marked as unused.
2019-05-17 09:34:46 +00:00
Jan Alexander Steffens (heftig)
5398a80a73
gstreamer/pad: Add a probe test
2019-05-16 18:17:15 +02:00
Jan Alexander Steffens (heftig)
d470881ac2
gstreamer/pad: Handle PadProbeReturn::Handled more correctly
...
If the probe returns Handled and the data was a Buffer we need to ensure
it was consumed. Queries need to be returned. The behavior of Handled
for other probes is not clear.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
d5317cccdd
gstreamer/pad: Expose the flow_ret value in PadProbeInfo
...
This is present since GStreamer 1.5.90 so no feature flags needed.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
061683af7b
gstreamer/pad: Assert post-probe data did not become None
...
GStreamer does not allow the probe to consume the reference here.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
706fb66f0b
gitignore: Ignore any target folder, not just in the root
2019-05-16 16:55:02 +02:00
Guillaume Desmottes
94d4c5b42d
buffer: display metas in Debug
...
Fix #201
2019-05-16 14:45:55 +02:00
Sebastian Dröge
0c0c056770
ges: Update bindings to 1.16.0
2019-05-16 01:54:10 +03:00
Sebastian Dröge
6bc25c6b66
Update GES bindings to 1.16.0
2019-05-16 01:00:42 +03:00
Sebastian Dröge
957cba4605
Update GES gir to 1.16.0 too
2019-05-16 00:50:26 +03:00
Sebastian Dröge
861e410380
Set documentation URL to the GitLab pages documentation
2019-05-16 00:37:00 +03:00
Sebastian Dröge
6071c68ab6
video: Add support for VideoCaptionMeta
2019-05-16 00:35:19 +03:00
Sebastian Dröge
e9edb8ddca
sdp: Add SDPMessage::get_media_mut() and ::medias_mut()
...
This allows getting mutable references to the medias so that they can be
modified, which is allowed by the C API and safe to do.
2019-05-15 17:15:41 +03:00
Artem
0bd22b2b05
Add missing license files
...
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/255
2019-05-13 10:10:51 +02:00
Vivia Nikolaidou
496fc61873
pipeline: Add to lib.rs
2019-05-12 16:41:18 +03:00
Sebastian Dröge
698120c620
Add tests for pad and element subclassing
2019-05-11 13:45:09 +00:00
Sebastian Dröge
c282f34c74
bus: Fix naming for filtered pop functions
2019-05-11 13:45:09 +00:00
Vivia Nikolaidou
1a65c674a9
Add unset_*_flags functions
...
Implemented for element, object, pad, and pipeline
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 15:51:33 +03:00
Vivia Nikolaidou
6403c06990
Add API for setting/getting object flags
...
Implemented for Object, Pipeline, Bin, Element, Plugin.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 13:13:33 +03:00
Vivia Nikolaidou
9067b500c8
enums: Removed MessageType::Any
2019-05-11 11:45:12 +03:00
Vivia Nikolaidou
05d936fcee
gstreamer: Add binding for GstMessageType and gst_bus_timed_pop_filtered
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/168
2019-05-10 19:35:13 +03:00
Guillaume Desmottes
05519219ef
buffer_pool: use to_glib_none() to cast BufferPoolAcquireParams
2019-05-07 13:30:00 +05:30
Guillaume Desmottes
fca4441a72
buffer_pool: implement ToGlibPtr and ToGlibPtrMut for BufferPoolAcquireParams
...
I'll use them to bind
gst_video_decoder_allocate_output_frame_with_params()
2019-05-07 10:28:25 +05:30
Jordan Petridis
3bf853e42f
CI: only build with all-features on nightly
...
glib has a futures feature that only works on nighty
and there is no easy to exclude a feature without specifying
every other feature.
2019-05-03 22:35:30 +03:00
Jordan Petridis
bc355ea3ee
CI: refactor to use 'extends' instead of anchors
2019-05-03 22:35:30 +03:00
Sebastian Dröge
5f1a50026d
Update futures code to futures 0.3
...
Also clean it up a bit.
2019-05-02 21:35:12 +03:00
Sebastian Dröge
2b122a20c5
examples/glupload: Fix segmentation fault by ensuring the glutin context stays alive longer than the GStreamer GL display
...
Otherwise the GL display might still use a Wayland display that is
already freed.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/196
2019-04-29 15:43:51 +03:00
François Laignel
bf96e264c9
gstreamer: Fix test for toc serialization
...
Ron changed the way it outputs empty arrays with version `0.5`.
2019-04-24 19:04:40 +03:00
Sebastian Dröge
4af06f0dd2
examples/glupload: Clean up considerably and port to glutin 0.21
2019-04-24 16:07:15 +03:00
Sebastian Dröge
d460310ed1
appsink: Properly mark appsink callbacks as Send-only
...
They can only be called from a single thread at a time, unlike some of
the appsrc callbacks.
This change was partially done in 062403bdac
but a part was missing.
2019-04-24 15:44:55 +03:00
Sebastian Dröge
044e3985a3
Update dependencies
2019-04-24 09:45:56 +03:00
Sebastian Dröge
b2b8bfab52
Add manual implementations for various new 1.16 functions
2019-04-23 20:45:39 +03:00
Sebastian Dröge
54705f959a
message: DeviceAdded/Removed getters are transfer full
2019-04-23 20:45:39 +03:00
Sebastian Dröge
8aad3e4dbb
Update CI configuration for 1.16
2019-04-23 20:45:39 +03:00
Sebastian Dröge
88dcb82c8d
Regenerate everything for 1.16.0
2019-04-23 19:15:53 +03:00
Sebastian Dröge
5c32a0d1d3
Update manual code and configuration for 1.16
2019-04-23 19:15:53 +03:00
Sebastian Dröge
bf1fb86d56
Update gir-files for 1.16.0
2019-04-23 19:12:17 +03:00
Sebastian Dröge
7e7567ecec
Update CI for 1.16.0
2019-04-23 18:33:01 +03:00
Sebastian Dröge
134564ca3c
Regenerate everything with latest gir and gir-files
2019-04-23 18:33:01 +03:00
Sebastian Dröge
4e2c2d5774
Update gir-files to 1.16.0
2019-04-23 18:33:01 +03:00
Sebastian Dröge
2e4b6be986
Update gir
2019-04-23 12:04:08 +03:00
Sebastian Dröge
8618085d46
Port examples/tutorials to the explicit Option parameter changes
2019-04-15 19:19:19 +03:00
Sebastian Dröge
8cd9b6c9fc
sdp: Add Default impl for Media
2019-04-15 19:19:19 +03:00
Sebastian Dröge
e7898c1b24
Update manual code
2019-04-15 19:19:19 +03:00
Sebastian Dröge
24305a19e8
Regenerate everything with latest gir
2019-04-15 18:38:05 +03:00
Víctor Manuel Jáquez Leal
2a6343a671
Support Wayland display on glupload example
2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal
4b3a011882
Support GLX on glupload example
2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal
b99c582a88
Add GLDisplayWayland in gstreamer-gl
2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal
72aa5aed88
Add GLDisplayX11 for gstreamer-gl
2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal
9931ac551e
Update metadata in Cargo.toml from gstreamer-gl
...
Update repository and documentation keys since the migration to
freedesktop's gitlab.
2019-04-10 19:08:12 +02:00
Sebastian Dröge
5af54b8d94
Use the slice::windows() iterator instead of zipping twice for Element::link_many() and unlink_many()
...
Has the same effect but is easier to read and more efficient.
2019-04-10 16:30:26 +03:00
Sebastian Dröge
5a6313c682
examples/glupload: Switch to glutin 0.20 instead of some git version
2019-04-09 09:36:33 +03:00
Víctor Manuel Jáquez Leal
2f49b935df
Add GLDisplayWayland in gstreamer-gl-sys
2019-04-02 13:50:23 +02:00
Víctor Manuel Jáquez Leal
0687fdc2a8
Add GLDisplayX11 in gstreamer-gl-sys
2019-04-02 13:49:17 +02:00
Víctor Manuel Jáquez Leal
1e4d63d77f
examples/glupload: Sync and wait for GL fence
...
Fixes : #192
2019-03-27 16:37:21 +01:00
François Laignel
9a01bd6202
TagList: handle scope in serde
...
These changes break compatibility for the serde representations of
`TagList` and `Toc`. Previous representation for the `TagList` was
a sequence. We now have to rely on a struct representation in order
to add `scope`.
2019-03-20 13:58:28 +00:00
François Laignel
bec3d84627
TagList: add TagScope {get, set}
2019-03-20 13:58:28 +00:00
Sebastian Dröge
d8554071b6
gl: Add bindings for GLSyncMeta
2019-03-20 12:17:40 +02:00
Sebastian Dröge
f7034258cd
Update gir
2019-03-19 09:37:46 +02:00
Sebastian Dröge
a43d8ff6ee
Regenerate with latest gir
2019-03-19 09:37:29 +02:00
Jordan Petridis
4ce27c130b
CI: Add a clippy job
...
Uses stable clippy for the time being
Otherwise we'll get warnings about lint names being deprecated without
being able to fix it while still being able to compile on stable.
This will solve itself once the new lint names move to stable and we can
switch to them.
2019-03-12 11:36:24 +02:00
Jordan Petridis
9d5347d7b5
CI: abstract the setup needed compile the crates
2019-03-12 11:36:24 +02:00
Sebastian Dröge
811e8c1dba
examples/glupload: Fix build with glutin API changes
2019-03-12 08:27:50 +01:00
Sebastian Dröge
e0c0c7d417
examples/glupload: Fix build after glutin API changes
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/191
2019-03-07 14:05:35 +02:00
Sebastian Dröge
86a31b4139
Silence/fix various clippy warnings
2019-03-07 14:05:35 +02:00
Sebastian Dröge
8c39da4e5b
Update to Rust 1.31 linter-specific attributes
2019-03-04 15:16:01 +02:00
Sebastian Dröge
631eee13da
gstreamer/pad: Use the correct type for destroying the pad task closure data
...
It's a Box<RefCell<_>> and not a plain Box<_> like for the other pad
functions, and doing this wrong causes crashes at runtime.
2019-03-01 19:49:27 +02:00
Sebastian Dröge
23a776ea63
sdp: Remove return value from various media setter/adder functions
...
They can't possibly fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
83a4529927
sdp: Fix SDPMedia constructor, it can't possibly fail
2019-02-28 20:35:45 +02:00
Sebastian Dröge
43a7eb8642
sdp: Fix leaking of SDPMedia in the adder of SDPMessage
2019-02-28 20:35:45 +02:00
Sebastian Dröge
0dcaa072a1
sdp: Fix various add/set functions on SDPMessage to not have a return value
...
These can't possibly fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
e830de8904
sdp: Fix freeing of message content when parsing fails
2019-02-28 20:35:45 +02:00
Sebastian Dröge
74bbff55ad
sdp: Add proper Debug/Clone impls for various SDP types
...
And fix nullability of others.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
7673be5baa
sdp: Remove MIKEY API for now
...
It was completely broken and has to be done differently. Once someone
actually needs it this can be re-added properly.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
1d2f77bb64
sdp: Implement Borrow/BorrowMut/ToOwned for SDPMessage
2019-02-28 20:35:45 +02:00
Sebastian Dröge
af86d5745d
sdp: Implement a proper Debug impl on SDPMessage
2019-02-28 20:35:45 +02:00
Sebastian Dröge
baf1d299d7
sdp: Fix up SDPMessage API that accesses indexed fields
...
It's forbidden to provide an index higher than the number of elements in
the array, and will cause crashes or other undesired outcomes.
Also the insert() API should take an Option<u32> instead of an i32 that
might also be -1 for appending. It's awful API otherwise.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
95b3a3a648
sdp: Add message iterators for the various arrays
2019-02-28 20:35:45 +02:00
Sebastian Dröge
fa14530c1d
sdp: Add a SDPMessageRef that allows borrowing of a message
2019-02-28 20:35:45 +02:00
Sebastian Dröge
7b66325f22
sdp: Implement Borrow/BorrowMut/ToOwned for SDPMedia
2019-02-28 20:35:45 +02:00
Sebastian Dröge
b6f569d049
sdp: Implement a proper Debug impl on SDPMedia
2019-02-28 20:35:45 +02:00
Sebastian Dröge
30950917a0
sdp: Fix up SDPMedia API that accesses indexed fields
...
It's forbidden to provide an index higher than the number of elements in
the array, and will cause crashes or other undesired outcomes.
Also the insert() API should take an Option<u32> instead of an i32 that
might also be -1 for appending. It's awful API otherwise.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
37fd226836
sdp: Add media iterators for bandwidths, formats, connections and attributes
2019-02-28 20:35:45 +02:00
Sebastian Dröge
ab2dbe0234
sdp: Fix SDPMedia::attributes_to_caps() signature to actually work
...
It has to take a mutable caps reference or otherwise will simply fail.
2019-02-28 20:35:45 +02:00
Sebastian Dröge
20e10698ac
sdp: Add a SDPMediaRef that allows borrowing of a media
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/189
2019-02-28 20:35:45 +02:00
Víctor Manuel Jáquez Leal
066b22efc5
Fix examples and tutorial with GTK API updates
2019-02-28 12:02:51 +01:00
Víctor Manuel Jáquez Leal
c378167573
glupload: panic if target OS is not Linux
...
For now this is the only OS supported by this test.
2019-02-28 12:02:51 +01:00
Víctor Manuel Jáquez Leal
07ddf2f370
glupload: update glutin API
...
GlWindow was dropped in favor of CombinedContext and ContextTrait
Fixes : #190
2019-02-28 12:02:51 +01:00
Sebastian Dröge
490004d9c5
Remove empty lines from CHANGELOG.md as that breaks the GitLab rendering
...
... if it's between items in a list.
2019-02-22 17:50:59 +02:00
Sebastian Dröge
e274b5495b
Update CHANGELOG.md with comparision link for 0.7.0
2019-02-22 17:19:54 +02:00
Sebastian Dröge
32e961d418
Update versions to 0.14.0
2019-02-22 13:04:56 +02:00
Sebastian Dröge
96d43f44ac
Update versions to 0.8.0
2019-02-22 13:03:00 +02:00
Sebastian Dröge
7feadd2f32
Update documentation
2019-02-22 12:13:27 +02:00
Sebastian Dröge
0f6850d6a9
Update CHANGELOG.md for 0.13.0
2019-02-22 11:55:16 +02:00
Sebastian Dröge
d15588e65c
rtsp-server: Generate the various filter functions
2019-02-22 11:55:16 +02:00
Sebastian Dröge
8754e4220e
Regenerate everything with latest gir
2019-02-22 11:55:16 +02:00
Sebastian Dröge
c69669e770
Add CHANGELOG.md to gstreamer-gl-sys too
2019-02-22 10:22:55 +02:00
Sebastian Dröge
b88cfe5685
Remove gitlab badges from Cargo.toml
...
These only work with gitlab.com and not other instances.
2019-02-22 10:05:29 +02:00
Sebastian Dröge
a1fa410a33
Update CHANGELOG.md for 0.7.0
2019-02-22 09:57:27 +02:00
Sebastian Dröge
95f6844702
Fix various minor clippy warnings
2019-02-21 19:56:23 +02:00
Sebastian Dröge
0a96e0a80b
gstreamer-video: Don't take a &mut self in the constructor of VideoTimeCodeInterval
2019-02-21 19:29:47 +02:00
Sebastian Dröge
53c98db711
gstreamer: Don't implement ClockId's Ord/etc based on the compare function
...
It is only comparing the times, and two clock ids with the same time are
obviously not the same.
2019-02-21 18:48:57 +02:00
Sebastian Dröge
2471676aa4
check: Set harness caps in unit test before pushing buffers
...
Otherwise there will be warnings about data flow before stream-start
event as the harness is only sending the events once caps are set.
2019-02-21 13:08:54 +00:00
Sebastian Dröge
a5a016557f
bus: add_watch() can fail as there can only be one watch at a time
...
Return an Option<SourceId> because of that.
2019-02-15 13:30:05 +02:00
François Laignel
e24efa7259
gstreamer-base: subclassing: move parent fn in dedicated trait ( !231 )
2019-02-13 11:53:14 +00:00
François Laignel
fb99f1abad
gstreamer: subclassing: move parent fn in dedicated trait ( !231 )
2019-02-13 11:53:14 +00:00
François Laignel
e2d448f002
examples: fix ges warnings
2019-02-12 16:10:02 +01:00
Sebastian Dröge
f2d79fb352
Make use of Bus::add_watch_local()
2019-02-10 12:06:40 +02:00
Sebastian Dröge
e6992345cc
Add gst_video::convert_frame_async_local() without Send bound on the closure
2019-02-10 11:47:48 +02:00
Sebastian Dröge
09ad177315
Add Bus::add_watch_local() without Send bound on the closure
...
This panics if not called from the thread that owns the main context.
2019-02-10 11:43:55 +02:00
Josh Matthews
ae1455e4d6
Return 0 for the mask of any negative GstAudioChannelPosition value.
2019-02-07 10:02:00 -05:00
François Laignel
3ea34695dd
ges: update functions returning bool to Result<(), BoolError>
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/181
2019-02-07 11:03:01 +01:00
Sebastian Dröge
b4ad105c1d
basic-tutorial-5: Stop using deprecated GTK API
...
Disabling double buffering is deprecated since quite a while.
2019-02-07 10:26:37 +02:00
Sebastian Dröge
de978bd115
Update gtk feature flags
...
The minimum supported version of GTK is now 3.14 so we don't have to
opt-in for 3.8/3.10 APIs anymore.
2019-02-07 09:49:07 +02:00
François Laignel
be9566fe4a
gstreamer-sdp: update functions returning bool to Result<(), glib::BoolError>
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/182
2019-02-05 20:26:28 +01:00
François Laignel
211e476592
Update for functions returning bool in most remaining workspaces
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/179
2019-02-04 16:14:13 +01:00
François Laignel
37b717c020
gstreamer-base: add parent_xxx impl for all vfunc
2019-02-03 08:41:20 +00:00
François Laignel
fcb46ee5bf
gstreamer: add parent_xxx impl for all vfunc
2019-02-03 08:41:20 +00:00
François Laignel
ac00608b7e
gstreamer-base: fix parent vfunc invocations when needed
...
Fixes #180
2019-02-03 08:41:20 +00:00
François Laignel
56c00d9250
gstreamer: fix parent vfunc invocations when needed
...
Fixes #180
2019-02-03 08:41:20 +00:00
Abdul Rehman
338215bd53
gstreamer-net: Add GstNetAddressMeta wrapper
2019-02-01 17:36:52 +05:00
Sebastian Dröge
354f9fbfe4
Fix compilation of tests without features="v1_14"
2019-01-30 13:02:41 +00:00
Sebastian Dröge
42a8b9e505
Get rid of double-boxing for some other closures
2019-01-30 13:02:41 +00:00
Sebastian Dröge
1adb063fbc
Don't box closures twice for signal callback closures
2019-01-29 19:24:26 +02:00
Sebastian Dröge
d8085a5d79
Fix GES example
...
Some constructors are returning None now based on the annotations
2019-01-29 16:45:35 +02:00
Sebastian Dröge
49c5fa33ba
Add tests for Element::foreach_pad() and Bus::set_sync_handler()
2019-01-29 16:45:35 +02:00
Sebastian Dröge
5625a75b1b
Pad::new_from_static_pad_template_with_gtype() can return None
2019-01-29 16:28:51 +02:00
Sebastian Dröge
00cbd49923
Regenerate with latest gir
2019-01-29 16:28:51 +02:00
Sebastian Dröge
16adb8e8b8
Update some nullable annotations from git
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/83
2019-01-29 16:28:51 +02:00
Guillaume Desmottes
3f6424d2ac
examples: playbin: show how to use debug_to_dot_file()
2019-01-28 15:53:07 +01:00
François Laignel
7cb1dc9cb4
gstreamer-base: update signatures to Result<(), glib::BoolError>
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/175
2019-01-27 09:36:56 +00:00
François Laignel
c65214b207
gstreamer-base: update signatures to Result<(), ErrorMessage>
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/175
2019-01-27 09:36:56 +00:00
François Laignel
5d1a839558
gstreamer-base: update signatures to Result<(), LoggableError>
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/175
2019-01-27 09:36:56 +00:00
Sebastian Dröge
2b2c3bbade
Make sure to initialize GStreamer in all Structure tests
2019-01-27 03:02:11 +02:00
Pete Johanson
b62e2f154d
Add getters to VideColorimetry.
2019-01-27 00:21:50 +00:00
François Laignel
a88918dd5f
Use glib_result_from_gboolean! where applicable
2019-01-26 12:46:37 +01:00
François Laignel
f59e35d0a3
Use LoggableError in user defined functions and callbacks
...
`LoggableError` ensures an error in a user defined function is always
logged. This commit changes eligible function signatures accordingly.
2019-01-26 11:58:30 +01:00
François Laignel
c5f0bab614
Add LoggableError
...
... an auto-loggable `Error` return type, to make sure user errors
get logged.
To be used via the associated macros.
See discussion in #175 .
2019-01-26 11:58:27 +01:00
Sebastian Dröge
ca791ae4fa
Use an empty enum for the custom tag in the test
...
There's no point in allowing to have values of it, it's only a marker
type.
2019-01-23 16:11:52 +02:00
Sebastian Dröge
9d79280929
Add some more functions for generically handling tags
2019-01-23 15:54:00 +02:00
Sebastian Dröge
598e012568
Add bindings for gst::tags::register()
2019-01-23 15:52:51 +02:00
Sebastian Dröge
bd0cbe99b3
Add more Debug impls to everything possible
2019-01-22 17:46:08 +02:00
Sebastian Dröge
cc3c3876ab
Implement Debug for EventView and MessageView
2019-01-22 16:55:59 +02:00
Sebastian Dröge
ad24ab9638
Regenerate everything with latest gir
2019-01-21 22:00:48 +02:00
François Laignel
84ba2d7971
Use dedicated type DeviceMonitorFilterId
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/174
2019-01-19 14:52:15 +01:00
Sebastian Dröge
a99652f236
Enable 1.31 test job now that 1.32 is released
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/167
2019-01-18 08:14:36 +00:00
Sebastian Dröge
e73bc4d9cd
Enable 1.31 test job now that 1.32 is released
2019-01-18 10:11:22 +02:00
François Laignel
b20e4454f1
Return () instead of bool for some functions
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/171
2019-01-17 23:49:35 +01:00
François Laignel
333d71f92b
Update functions returning bool to use Result<(), glib::BoolError>
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/171
2019-01-17 23:13:44 +01:00
Víctor Manuel Jáquez Leal
ee87f286a0
Change to the official glutin repository
...
Since the PR for egldisplay was already merged.
2019-01-16 21:50:24 +01:00
Víctor Manuel Jáquez Leal
d8b1c40519
Add README.md to gstreamer-gl
2019-01-16 19:45:45 +01:00
François Laignel
a254a8ed29
Declare Gst defined Debug Categories and add one for Rust binding
2019-01-16 17:07:57 +01:00
Víctor Manuel Jáquez Leal
bb24497d63
Add README.md to gstreamer-gl-sys
2019-01-16 16:58:25 +01:00
Sebastian Dröge
3fcbf3fba4
Use default instead of default-features in Cargo.toml
2019-01-16 17:10:01 +02:00
Sebastian Dröge
bfcdec782e
Switch to stable rustfmt and add skip annotations for the generated code to the lib.rs
2019-01-16 17:10:01 +02:00
Sebastian Dröge
43ec33a1db
Remove some code that is nowadays generated by the glib_wrapper! macro
2019-01-16 15:23:53 +02:00
Sebastian Dröge
58ccf666a6
Change some const raw pointers to mutable
...
We cast them to a mutable pointer of another type right afterwards
anyway.
2019-01-16 13:52:56 +02:00
Sebastian Dröge
931c485150
Update manual code for glib API changes
2019-01-16 13:52:56 +02:00
Sebastian Dröge
6da0a9d169
Regenerate everything with latest gir
2019-01-16 13:32:39 +02:00
François Laignel
948fb2ae4b
Replace XXXReturn with Result<XXXSuccess, XXXError>
...
... in function signatures.
These breaking changes aim at improving usability by allowing users
to take advantage of Rust error management features sur as `ok_or`,
`map_err`, `expect` and the `?` operator. See the `examples` and
`tutorials` to get an idea of the impacts.
2019-01-11 18:33:04 +01:00
François Laignel
226070d216
BoolError: update to new build macros
...
See https://github.com/gtk-rs/glib/pull/419
2019-01-04 16:02:40 +01:00
François Laignel
3200574d31
Update to latest gir
...
See https://github.com/gtk-rs/gir/pull/687
2019-01-04 16:02:40 +01:00
Philippe Normand
98d0bc01ac
examples: Fix v1.10 feature build
...
GLib-rs macros are needed for this feature.
2019-01-03 22:01:41 +00:00
Philippe Normand
bef6d741d3
Fix examples and tutorials for GString support
2019-01-03 22:01:41 +00:00
Philippe Normand
9534416760
Regenerate and fix manual bindings for GString support
2019-01-03 22:01:41 +00:00
Sebastian Dröge
9665a89940
adapter: Add a UniqueAdapter wrapper
...
This implements Send/Sync and for allowing this safely it provides no
reference counting and requires a mutable reference for all mutable
operations.
It also provides safe access to the Adapter::map() function as without
reference counting we can ensure that nothing else is invalidating the
returned memory while it's still being accessed.
2019-01-03 11:24:52 +02:00
Sebastian Dröge
90c86e0031
flow_combiner: Add a UniqueFlowCombiner wrapper
...
This implements Send/Sync and for allowing this safely it provides no
reference counting and requires a mutable reference for all mutable
operations.
2019-01-03 11:11:48 +02:00
Sebastian Dröge
6ed4f95ad0
check: Add docs for Harness
2018-12-31 13:21:06 +02:00
Sebastian Dröge
b9d3a5a852
video: Fix compilation with features=v1_10
2018-12-29 00:05:22 +02:00
Sami Jaktholm
6f867443c9
tags: fix album tag definition
...
The Album tag should be defined using the GST_TAG_ALBUM constant instead
of GST_TAG_ARTIST_SORTNAME.
2018-12-28 19:51:28 +02:00
Sebastian Dröge
69af6a5975
bus: Add iter() and iter_timed() that return Iterators around the corresponding pop() functions
...
And make use of them in the examples where it makes sense.
2018-12-28 00:06:03 +02:00
Sebastian Dröge
005f436631
Buffer::from_slice() / from_mut_slice() can't possibly return None
2018-12-26 12:13:23 +01:00
Bastian Köcher
d257ece388
Make Value
serialize/deserialize Buffer
s
2018-12-25 01:40:17 +01:00
Sebastian Dröge
980baacf6c
Add stable-armv7-unknown-linux-gnueabihf and stable-x86_64-pc-windows-gnu cross-builds
2018-12-19 18:32:35 +02:00
Sebastian Dröge
93d1349d78
Use new GLib API for generically implementing GObject interfaces
2018-12-19 13:15:20 +02:00
Sebastian Dröge
89d69b0dea
gstreamer-video: Remove unused use statement
2018-12-19 13:14:32 +02:00
Sebastian Dröge
67f9ee4774
Update gl_generator dependency to 0.10
2018-12-19 13:12:47 +02:00
Sebastian Dröge
e804ef4d76
Switch to Rust 1.31 as minimum supported version
...
Too many dependencies switched and we can't really keep everything at an
older version.
Commented out for now until stable becomes 1.32.
2018-12-19 12:45:57 +02:00
Sebastian Dröge
e383b504a2
Switch to Rust 1.31 as minimum supported version
...
Too many dependencies switched and we can't really keep everything at an
older version.
Commented out for now until stable becomes 1.32.
2018-12-19 12:41:34 +02:00
Sebastian Dröge
a99f71bb65
Switch from rustfmt-preview to rustfmt component in CI
...
We still have to stay at the nightly version of rustfmt as the `ignore`
option is not stable yet.
2018-12-17 22:38:31 +00:00
Sebastian Dröge
86673009df
video: Add support for VideoTimeCodeMeta
2018-12-17 17:40:41 +02:00
Sebastian Dröge
a753c65d33
video: Add VideoTimeCode bindings
...
There's a VideoTimeCode type that represents any kind of timecodes,
including invalid ones, and which allows to change each field
individually. And ValidVideoTimeCode that has all fields
validated and that can be used with most of the API.
In C, validation of the timecodes is left to the user and most functions
assert on getting passed valid timecodes.
2018-12-17 17:40:41 +02:00
Jordan Petridis
02dc888a3a
Examples: Pin some dependencies to builda with rustc 1.28
...
These dependencies require rustc 1.31, which we can't yet use.
Since they are only affecting examples its not a big deal to pin
them to an earlier version.
2018-12-17 14:52:45 +02:00
Sebastian Dröge
11db200dd6
Remove some historical cruft from the README.md
2018-12-13 19:46:57 +02:00
Sebastian Dröge
654d98b269
Update README.md to mention that this also allows writing GStreamer plugins
...
And clarify that gst-plugins-rs only contains various plugins.
2018-12-13 19:41:07 +02:00
Sebastian Dröge
80c151c8a4
Update README.md for new scope of gstreamer-rs and gst-plugins-rs
...
The latter only contains some plugins now, all bindings for writing
applications and plugins is included in gstreamer-rs now.
2018-12-13 19:34:18 +02:00
Sebastian Dröge
d780b92f21
Use an extension trait instead of a custom type for the GStreamer param specs
...
This way they can simply be created via glib::ParamSpec::fraction() for
example.
2018-12-11 12:37:15 +02:00
Sebastian Dröge
43f5a10f9c
Add API for mapping GL buffers as VideoFrameRef in addition to a full VideoFrame
2018-12-08 18:59:14 +00:00
Sebastian Dröge
36bcb5630a
Remove various unused use statements
2018-12-08 14:58:14 +02:00
Sebastian Dröge
6bba3d8518
Add 'static trait bound to all ExtManual traits and get rid of trait bounds for their impls
2018-12-08 14:58:14 +02:00
Sebastian Dröge
5c93e134a7
Regenerate everything with new version of gir
2018-12-08 14:58:14 +02:00
Sebastian Dröge
fa988fe73d
Make gst_define_mini_object_wrapper! macro work stand-alone without requiring specific names in scope
2018-12-08 12:53:10 +02:00
Sebastian Dröge
1a53983b3b
Properly implement gst_rtsp_server::RTSPToken bindings
...
We can now properly implement miniobject bindings outside the main
trait.
2018-12-08 11:49:45 +02:00
Víctor Manuel Jáquez Leal
2778f9c3fb
examples: glupload example
2018-12-05 23:03:49 +01:00
Víctor Manuel Jáquez Leal
2c13a75330
Add GstGL bindings
2018-12-05 23:03:49 +01:00
Víctor Manuel Jáquez Leal
e0953efd12
gir-files: fix error quarks
2018-12-04 20:54:03 +01:00
Sebastian Dröge
890b47eef9
Fix up some error handling in basic-tutorial-12
...
And minor code cleanup
2018-12-04 11:14:03 +02:00
Tony Jinwoo Ahn
b9fa4870ad
Add basic-tutorial-12
...
Add basic-tutorial-12 from the GStreamer tutorials
2018-12-04 08:52:10 +00:00
Sebastian Dröge
e7b4bafa60
Ignore false clippy warning about casting and pointer alignment in videometa
...
error: casting from `*mut ffi::GstVideoOverlayComposition` to a more-strictly-aligned pointer (`*mut gst_ffi::GstMiniObject`)
--> gstreamer-video/src/video_meta.rs:158:44
|
158 | gst_ffi::gst_mini_object_unref(self.0.overlay as *mut _);
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[deny(clippy::cast_ptr_alignment)] on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment
error: casting from `*mut ffi::GstVideoOverlayComposition` to a more-strictly-aligned pointer (`*mut gst_ffi::GstMiniObject`)
--> gstreamer-video/src/video_meta.rs:159:59
|
159 | self.0.overlay = gst_ffi::gst_mini_object_ref(overlay.as_mut_ptr() as *mut _) as *mut _;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment
2018-12-04 10:51:50 +02:00
François Laignel
8c3df63b95
URIHandler: rename get_type
...
Avoid a conflict with the `get_type` function declared by the
`glib_object_subclass!` macro.
2018-12-03 20:47:58 +01:00
Sebastian Dröge
237fd55a4a
Remove left-over HELP comment from the GES example
2018-11-30 23:04:02 +02:00
Sebastian Dröge
1515707655
Add bindings for the array/fraction param spec constructors
2018-11-29 19:18:45 +00:00
Markus Ebner
466e02df3a
Add verbose documentation to the examples
...
Added verbose documentation to all of the repository's examples.
2018-11-29 19:59:57 +01:00
Sebastian Dröge
db6a6543b4
Update for some more glib-rs API changes
2018-11-29 00:22:43 +02:00
Sebastian Dröge
3febc42628
Update for glib-rs API changes
2018-11-28 21:55:21 +02:00
Sebastian Dröge
ab626adc4a
Use new GLib boxed-type definition feature for carrying Rust types over GStreamer error messages
2018-11-28 08:57:17 +02:00
Sebastian Dröge
2255637e02
Remove "video editing" keyword from GES
...
They must be single words.
2018-11-26 17:02:41 +01:00
Sebastian Dröge
23bea73eb9
Fix some remaining references to github
2018-11-26 16:18:08 +01:00
Sebastian Dröge
7a7984a6c6
Update documentation
2018-11-26 16:17:11 +01:00
Sebastian Dröge
12c3d1e911
Update CHANGELOG.md for 0.12.2
2018-11-26 16:16:57 +01:00
Sebastian Dröge
8c9d1abe9d
Remove GitLab badge
...
It only works for gitlab.com currently
2018-11-26 16:16:26 +01:00
Sebastian Dröge
6629d1b3f6
Update documentation to GitLab pages
2018-11-26 16:15:53 +01:00
Sebastian Dröge
cef8bf5c8f
Various fixes for the per-crate README.md
2018-11-26 11:48:06 +01:00
Sebastian Dröge
414eba2baa
Update links from gst-plugin-rs to gst-plugins-rs
2018-11-26 11:43:39 +01:00
Sebastian Dröge
b41517234d
Various fixes for the README.md of the separate crates
2018-11-26 11:40:55 +01:00
Sebastian Dröge
5df964435c
Update README.md with changes from the main one
2018-11-26 11:36:48 +01:00
Sebastian Dröge
dad32c16c4
Update gst-plugin-rs link to gst-plugins-rs
2018-11-26 11:34:47 +01:00
Sebastian Dröge
aea6f79ef9
Implement Send/Sync for VideoFrame
...
Closes #153
2018-11-26 11:13:13 +01:00
Víctor Manuel Jáquez Leal
ec8727c3ca
Make rustfmt in CI happy
2018-11-23 15:32:05 +01:00
Sebastian Dröge
8eb4b879fc
Port Aggregator subclassing
2018-11-21 17:03:59 +02:00
Sebastian Dröge
2bc6efa893
Port AggregatorPad subclassing
2018-11-21 17:03:59 +02:00
Sebastian Dröge
411319198a
Port BaseTransform subclassing
2018-11-21 17:03:59 +02:00
Sebastian Dröge
2f90961ef1
Port BaseSink subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
771defa377
Port BaseSrc subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
d2b911a629
Port GhostPad subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
ec2a0635ca
Port Pad subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
97211e869b
Port Pipeline subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
55dac7eeb4
Port Bin subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
0a8d34bc23
Port ChildProxy subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
a0d2f0e98f
Port URIHandler subclassing
2018-11-21 16:14:06 +02:00
Sebastian Dröge
d2f00ca1e0
Allow passing normal strings to gst_plugin_define!() without explicit \0 at the end
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugin-rs/issues/38
2018-11-21 16:14:06 +02:00
Sebastian Dröge
9ff906eb8e
Declare correct major/minor plugin versions based on bindings configuration
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugin-rs/issues/37
2018-11-21 16:14:06 +02:00
Sebastian Dröge
56319f9294
Move subclassing infrastructure into the main bindings
...
And port Element bindings to the new infrastructure.
2018-11-21 16:14:06 +02:00
Sebastian Dröge
d6ce094cfd
Check for successful typefind registration in typefind unit test
2018-11-20 11:15:03 +02:00
Víctor Manuel Jáquez Leal
284992d83a
Add VideoFrame::from_glib_full() constructor
...
Thus it would be possible to instantiate gst_video::VideoFrame from
FFI's VideoFrame created outside of gstreamer_video's crate.
Fixes #152
2018-11-16 11:45:38 +01:00
Christian Meissl
533e4af669
net: Actually create an PTP clock instead of NTP clock
2018-11-15 18:27:45 +02:00
Fernando Jiménez Moreno
e7f32334c5
Add gst-editing-services to OSX deps list
2018-11-13 15:15:00 +01:00
Sebastian Dröge
8924af36e0
harness: Work around floating references issues in GstHarness
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/31
2018-11-13 14:45:20 +02:00
Sebastian Dröge
29d17faf09
Fix tests and enable them on CI
...
gstreamer-rtsp-server and gstreamer-editing-services are disabled for
now until there's a new release of them, or once we start building
against git master of them.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/issues/16
2018-11-11 18:06:27 +02:00
Sebastian Dröge
d7157a4279
Add the to-dot-file functions to the gst::Bin trait
...
This allows directly calling them on bins instead of using a global
function.
2018-11-11 10:14:43 +02:00
Sebastian Dröge
c9c16c9a25
Update gir
2018-11-11 08:39:44 +02:00
Sebastian Dröge
06d654760d
Implement glib::SendUnique on Adapter
...
It can be safely sent between threads as long as all references are in
the same thread.
2018-11-10 13:27:37 +02:00
Sebastian Dröge
7e79ddd335
Update CHANGELOG.md for 0.6.1
2018-11-10 12:27:38 +02:00
Sebastian Dröge
e456ca724b
Remove spurious Cargo.build file
2018-11-10 11:10:18 +02:00
Sebastian Dröge
2a73d29e71
Fix gstreamer-check library link name
2018-11-10 11:07:09 +02:00
Sebastian Dröge
2a307d5361
Add CHANGELOG.md to gstreamer-editing-services
2018-11-10 11:04:31 +02:00
Sebastian Dröge
797e82dce3
Fix gstreamer-check-sys crate name in README.md
2018-11-10 11:04:09 +02:00
Russel Winder
c4666a4208
mpegts: Updates for the new boxed types in MPEG-TS library of gst_plugins_bad.
2018-11-08 09:06:47 +00:00
Markus Ebner
fbe6d5ce38
Add transmuxing example showing typefind, multiqueue and dynamic pad usage
...
This adds a usage example for the typefind and multiqueue elements, and dynamic pads.
2018-11-05 13:06:01 +01:00
Sebastian Dröge
f31827f194
Regenerate with latest gir
...
Gets rid of some unneeded property notification functions in GES
2018-11-05 11:18:31 +02:00
Sebastian Dröge
825bf7301e
Update gir-files from gstreamer-rs-sys
2018-11-05 11:17:34 +02:00
Sebastian Dröge
75cda423fe
Regenerate with latest gir
...
Solves two issues from https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/issues/16
2018-11-05 11:16:27 +02:00
Sebastian Dröge
ee9473d833
Update gir to the latest version
2018-11-05 11:16:27 +02:00
Sebastian Dröge
e254bdd33d
Update GstAudio-1.0.gir with fixed types of Pack/Unpack function
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/4
2018-11-05 11:16:27 +02:00
Thibault Saunier
7360e50280
ges: Work around trait naming conflicts
...
Fixes #151
2018-11-04 16:55:33 -03:00
Thibault Saunier
6570d67828
ges: Mark more method as returning BoolError
2018-11-04 15:41:09 -03:00
Thijs Vermeir
25e0baf483
update autogenerated files
2018-11-04 19:14:35 +01:00
Thijs Vermeir
ba22a36cdb
use BoolError for {Element,TypeFind,DeviceProvider}::register
2018-11-04 19:14:35 +01:00
Sebastian Dröge
6b197df98c
Run gitlab-ci also with Rust 1.28
2018-11-04 18:50:50 +02:00
Sebastian Dröge
6ae9cf2690
Run gitlab-ci also with Rust 1.28
2018-11-04 18:44:08 +02:00
Sebastian Dröge
9e9bc5122c
Fix accidential usage of Rust 1.30 feature
...
error[E0658]: access to extern crates through prelude is experimental (see issue #44660 )
--> gstreamer-check/src/harness.rs:180:76
|
180 | pub fn crank_multiple_clock_waits(&mut self, waits: u32) -> Result<(), glib::BoolError> {
| ^^^^
2018-11-04 18:39:28 +02:00
Thibault Saunier
2c4f2c7de2
Fix WebRTC crate link in the README
2018-11-04 18:34:00 +02:00
Thibault Saunier
c687f38b50
ci: Lint before running test
...
No reason to run tests if linting didn't pass
2018-11-04 11:35:54 -03:00
Thibault Saunier
8639aed456
Generate bindings for the GStreamer Editing Services
2018-11-04 11:35:54 -03:00
Sebastian Dröge
fa312f8206
Fix repository name in migration note in README.md
2018-11-03 20:56:17 +02:00
Sebastian Dröge
352f1c80d4
Run everything through rustfmt
2018-11-03 20:28:58 +02:00
Sebastian Dröge
fb0178a4f2
Call gst::init() in message::test_other_fields() test at the beginning
2018-11-03 20:15:27 +02:00
Sebastian Dröge
f4a6aa4481
Change all references from GitHub to freedesktop.org GitLab
2018-11-03 20:08:42 +02:00
Sebastian Dröge
53ad4d0862
Remove rustfmt check from gitlab-ci.yml
...
All files are autogenerated and don't conform to what rustfmt would do
2018-11-03 17:54:12 +00:00
Sebastian Dröge
3b2b70ea0a
Change all references from GitHub to freedesktop.org GitLab
2018-11-03 17:54:12 +00:00
Sebastian Dröge
0ccd8f186f
Use std::path to directly refer to path::Path
2018-11-02 16:05:57 +02:00
Sebastian Dröge
af4d08da17
Keep harness::{Ref, RefMut} in the module instead of re-exporting at the top-level
2018-11-02 15:23:29 +02:00
Thibault Saunier
0ca8a2f505
ges: Regenerate with now fixed TimelineElement.set_childXXX methods
2018-11-02 14:47:57 +02:00
Sebastian Dröge
26a213bf9f
Add accessors for the GstHarness struct fields
2018-11-02 14:32:09 +02:00
Sebastian Dröge
1937294faf
Fix harness compilation with v1_16 feature
2018-11-02 13:58:51 +02:00
Sebastian Dröge
7a0bb763a6
Fix gstreamer-check build with default features and docs
2018-11-02 13:46:30 +02:00
Sebastian Dröge
33295b758e
Add initial version of gstreamer-check
...
Covers GstHarness and GstTestClock
Fixes https://github.com/sdroege/gstreamer-rs/issues/148
2018-11-02 13:28:03 +02:00
Sebastian Dröge
983d1a3405
Add initial version of gstreamer-check-sys
2018-11-02 13:23:52 +02:00
Sebastian Dröge
f34757b21f
Add GstCheck-1.0.gir and fixups
2018-11-02 13:23:52 +02:00
Sebastian Dröge
5b75f11cd0
WIP initial version of harness/testclock bindings
2018-11-02 11:20:33 +02:00
Charlie Turner
98c69609cc
Cturner/add tutorial 9 ( #142 )
...
Add basic-tutorial 9
2018-10-31 23:43:04 +02:00
Víctor Manuel Jáquez Leal
302075dd1c
Regenerate everything with latest GIR
2018-10-31 18:32:57 +02:00
Víctor Manuel Jáquez Leal
c6654b8e17
gl: enable DisplayEGL API
...
This API is guarded behind the ``egl`` feature flag.
2018-10-31 18:32:57 +02:00
Víctor Manuel Jáquez Leal
96296b8c11
Update gir-files to 1.14.4
...
Using Debian gir files.
GstVideo-1.0.gir kept the changes in commits a273ab7
and 2d1fa49
2018-10-31 18:32:57 +02:00
Víctor Manuel Jáquez Leal
60c9cdfda1
Update autogenerated code with latest gir
2018-10-31 17:33:15 +02:00
Víctor Manuel Jáquez Leal
1be9f59091
Update gir-file to 1.14.4
...
Using Debian gir files
But kept the changes in commit 485d7e48
and 9265cc82
2018-10-31 17:33:15 +02:00
Víctor Manuel Jáquez Leal
4435cf41e3
fix README.md from previous merge
2018-10-31 17:33:15 +02:00
Thibault Saunier
bfba540f71
Build GES sys
2018-10-31 17:05:25 +02:00
Jordan Petridis
f9ff027a64
gir: Ignore VERSION constants
2018-10-30 21:37:46 +01:00
Arun Raghavan
f4685c4629
Use FlowError instead of FlowReturn as error part of Result
...
This prevents the possibility of a Result that is an Err(Ok), which
would not be meaningful.
2018-10-29 14:40:39 +00:00
Russel Winder
b4127c7df9
Update GstMpegts-1.0.gir from git master
2018-10-29 13:09:12 +00:00
Arun Raghavan
a4f25df045
enums: Implement the From trait for error/success
...
This implements the From trait for all *Error/*Success enums to the
corresponding *Return enum.
2018-10-28 18:41:27 +00:00
Sebastian Dröge
6325e0fcce
Fix build with ser_de feature enabled
2018-10-28 17:48:42 +00:00
Sebastian Dröge
9f8ec3b35b
Rename TagList::iter_tag_list() to TagList::iter_generic() and ::iter_tag_list_simple() to ::iter()
...
It's the generic iterator for going over values, and the simple one is
the one you usually want.
Also rename iterator types, but those are internal anyway.
2018-10-28 17:30:25 +00:00
Sebastian Dröge
8a6bcbcedb
Run through rustfmt once again
2018-10-28 13:47:02 +00:00
Sebastian Dröge
54d8065dd3
Add TagList::iter_tag_list_simple() for getting a single value per tag
2018-10-28 13:46:28 +00:00
Sebastian Dröge
7207bbed69
Add various global functions to the pbutils library
2018-10-28 12:39:27 +00:00
Sebastian Dröge
0947c8f087
Rename gst::Bin traits from BinExt to GstBinExt to prevent conflicts with gtk::Bin
2018-10-28 11:30:41 +00:00
Guillaume Gomez
ff6b09d301
Improve mac osx installation instructions a bit
2018-10-23 00:17:19 +01:00
Jan Alexander Steffens (heftig)
fd2776f0b0
examples: Make gstreamer-rtsp-server-sys properly optional
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/136
2018-10-19 17:57:04 +03:00
alexagv
e56b9e485b
Add libvpx to brew install
...
brew install gst-plugins-good does not include libvpx by default causing the rtpfecserver example to fail as it uses vp8enc
2018-10-16 18:49:28 +03:00
Jordan Petridis
a4113052f2
CI: Add gitlab-ci config.
...
Similar to how ti was done for gstreamer-rs.
See [1] for more.
[1] https://github.com/sdroege/gstreamer-rs/pull/132
2018-10-15 22:12:27 +03:00
Víctor Manuel Jáquez Leal
304c5dd2c2
webrtc: set min_cfg_version to 1.14
2018-10-13 20:11:08 +03:00
Víctor Manuel Jáquez Leal
d82ecdc46c
gl: set min_cfg_version to 1.14
2018-10-13 20:11:08 +03:00
Sebastian Dröge
e4ecc88825
Remove some unneeded lifetime annotations from video meta code and pass more parameters by reference
2018-10-11 11:58:01 +03:00
Sebastian Dröge
7189a6a7c1
Replace various transmutes in meta code with pointer casts
2018-10-11 11:58:01 +03:00
Sebastian Dröge
e2950749e8
Remove some unneeded lifetime annotations
2018-10-11 11:58:01 +03:00
Sebastian Dröge
d19c70694a
Use ? operator instead of explictly propagating None
2018-10-11 11:58:01 +03:00
Sebastian Dröge
fa29872863
Fix various clippy warnings in the serde code
2018-10-11 11:58:01 +03:00
Sebastian Dröge
5d9a3b4272
Use ptr::add(i) instead of ptr::offset(i as isize)
2018-10-11 11:58:01 +03:00
Jordan Petridis
d085569b3e
Add a rustfmt config
...
We stick to the default rustfmt style, but the config is needed
to ignore the auto-generated code.
2018-10-08 17:02:57 +03:00
Jordan Petridis
a585519db4
CI: Add a rustfmt check
2018-10-08 17:02:57 +03:00
Jordan Petridis
4127425f6b
CI: Cache the cargo registry
2018-10-08 17:02:57 +03:00
Jordan Petridis
3acdf7b996
CI: add color to the cargo output
2018-10-08 17:02:57 +03:00
Jordan Petridis
7856442176
CI: Add initial gitlab-ci config
...
Duplicates the functionality of the travis config
2018-10-08 17:02:57 +03:00
Sebastian Dröge
eb0a804a50
Run everything through latest rustfmt
2018-10-08 15:02:23 +03:00
Sebastian Dröge
2c7dff3b45
Run everything through rustfmt again
2018-10-08 09:32:08 +03:00
Sebastian Dröge
2d45d3840f
Clean up imports a bit
2018-10-08 09:31:39 +03:00
Sebastian Dröge
cb3cf66bd8
Onle re-export traits from the pbutils prelude
2018-10-08 09:26:53 +03:00
Sebastian Dröge
53cf6704e7
Remove EncodingTarget::add_profile() and consider it immutable
2018-10-08 09:23:48 +03:00
Sebastian Dröge
70fde430c9
Add copyright header
2018-10-08 09:22:32 +03:00
Sebastian Dröge
8e413fa3c9
Store encoding profiles inside the container builder as a Vec
2018-10-08 09:17:26 +03:00
Sebastian Dröge
5d17718e3b
Remove unnecessary mut
2018-10-08 09:09:14 +03:00
Sebastian Dröge
3069af42bb
Remove automatically inserted docs from git
2018-10-08 09:08:49 +03:00
Thiago Santos
382138b75a
More encoding_profile binding improvements
...
- enable is_equal function again (unsure why it was disabled)
- remove restriction-caps property, encoding-profile objects are
immutable
- remove cast need by using IsA<EncodingProfile> in parameters and
returning the correct type of encodingprofile subclass from the build()
functions. It used a internal hack for storing those IsA objects in
order to keep the API clean and ready to be used, this should be sorted
out as soon as we figure out how to store them in the buidlers.
- encodebin example: remove Result error propagation when it is caused
by programming mistakes. A panic will happen in those cases.
- run rustfmt
2018-10-08 09:06:46 +03:00
Thiago Santos
43235969be
encoding_profile: set_restriction is transfer-full not transfer-none
...
Avoid refcounting mistakes by using the right converting functions
before calling the ffi layer functions
2018-10-08 09:06:46 +03:00
Thiago Santos
f3c8dfeb9b
EncodingProfile: remove setters and constructors, use builders
...
Provide builders for the EncodingProfile so that the created objects are
imutable and can have the Send and Sync traits
2018-10-08 09:06:46 +03:00
Thiago Santos
861f052c3d
encoding_profile: add builders for all types
2018-10-08 09:06:46 +03:00
Thiago Santos
67bdfee1f6
encodebin: add an example for encodebin usage
2018-10-08 09:06:46 +03:00
Thiago Santos
485d7e4881
pbutils: adding encoding-profile bindings
2018-10-08 09:06:46 +03:00
Sebastian Dröge
7a0310a1f5
Remove travis cargo cache
2018-10-05 17:19:08 +03:00
Sebastian Dröge
c56e9ddfea
Also implement copy() returning the wrapper miniobject on the reference type
...
This way CapsRef::copy() will return a Caps, and not a GstRc<CapsRef>.
2018-10-05 16:36:15 +03:00
Sebastian Dröge
9265cc8232
Correctly generate VideoOverlayFormatFlags as flags
2018-10-04 11:39:15 +03:00
Sebastian Dröge
a273ab7944
Correctly generate GstVideoOverlayFormatFlags as flags type
2018-10-04 11:38:19 +03:00
Sebastian Dröge
30b9527112
Implement ::copy() directly on miniobject wrapper types
...
This provides the additional wrapping as the one via get via deref will
only give back a GstRc<T> without the additional wrapping.
2018-10-03 16:54:00 +03:00
Sebastian Dröge
8f71a81cb5
Regenerate with latest gir to get rid of unneeded notify signal connectors for construct-only properties
2018-10-03 13:57:07 +03:00
Sebastian Dröge
0f704646f6
Add more complete bindings for allocation query
...
Everything apart from allocators are covered now.
2018-10-01 22:56:32 +03:00
Sebastian Dröge
35353445de
VideoOverlayComposition is supposed to be immutable
...
So remove the add() function and instead require an
IntoIterator<Item=&VideoOverlayRetangle> in the constructor, and require
at least one item in the iterator or return None.
2018-10-01 14:52:31 +03:00
Sebastian Dröge
6d5bded7b3
Get rid of lifetime for the Meta structs
...
The structs themselves don't reference the buffer, the reference to
these structs is borrowed from the buffer.
2018-09-30 01:17:12 +03:00
Sebastian Dröge
7270a837d1
Fix namespace error in previous commit
2018-09-29 12:19:47 +03:00
Sebastian Dröge
62074ba1ed
Add bindings for VideoMeta and VideoOverlayCompositionMeta
2018-09-29 12:01:26 +03:00
Sebastian Dröge
cb23d20270
Implement support for buffer Metas
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/103
2018-09-29 11:44:55 +03:00
Sebastian Dröge
2d1fa498c1
Fix annotations for gst_buffer_add_video_meta_full()
2018-09-29 11:25:52 +03:00
Sebastian Dröge
ad62d08d65
Implement Display for Caps and TagList
2018-09-28 19:14:35 +03:00
Sebastian Dröge
2b029bcdd4
Remove unused imports
2018-09-28 18:15:29 +03:00
Sebastian Dröge
6fd0ed4cb3
Move all minobjects to newtype wrapper types
...
For consistency with external crates and to help rustdoc, which gets
confused on impl blocks for type aliases.
2018-09-28 18:11:46 +03:00
Sebastian Dröge
26ee546d1a
Always derive Clone for miniobject wrappers
2018-09-28 17:42:52 +03:00
Sebastian Dröge
0b58bf5c2f
Add bindings for VideoOverlayComposition and VideoOverlayRectangle
...
... the missing file.
2018-09-28 17:42:45 +03:00
Sebastian Dröge
cfe1bd452f
Add bindings for VideoOverlayComposition and VideoOverlayRectangle
2018-09-28 17:37:27 +03:00
Sebastian Dröge
74024447fe
Add macro to define newtype wrappers around MiniObjects
...
To allow implementing them in a meaningful way in external crates.
2018-09-28 17:37:27 +03:00
Sebastian Dröge
bc8da095c3
Add functions to get the FFI pointer behind a VideoFrame/VideoFrameRef
2018-09-28 17:35:48 +03:00
Sebastian Dröge
f1f278271e
Run tests on travis with G_DEBUG=fatal_warnings
2018-09-28 13:15:18 +03:00
Sebastian Dröge
a43c78f2c5
Run everything through rustfmt
2018-09-28 13:15:18 +03:00
Sebastian Dröge
564f9faf84
Add support for CapsFeatures
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/13
2018-09-28 13:15:18 +03:00
Víctor Manuel Jáquez Leal
4294d8cea9
gl: fix metadata, name and version handling
2018-09-24 17:02:51 +03:00
Víctor Manuel Jáquez Leal
3ea0419e57
cargo: add gstreamer-gl-sys workspace
2018-09-24 17:02:51 +03:00
Víctor Manuel Jáquez Leal
b4739d2be4
add gstreamer-gl-sys crate
2018-09-24 17:02:51 +03:00
Víctor Manuel Jáquez Leal
9f5821fa62
gir-files: modifications to GstGL-1.0.gir
2018-09-24 17:02:51 +03:00
Víctor Manuel Jáquez Leal
d079a32650
gir-files: add script which fixes gir files
2018-09-24 17:02:51 +03:00
Víctor Manuel Jáquez Leal
2b0c3507b4
gir: import GstGL-1.0.gir from Debian
2018-09-24 17:02:51 +03:00
Sebastian Dröge
857ed8609c
Structure is Sync, and StructureRef is Send+Sync
2018-09-22 11:00:17 +03:00
Sebastian Dröge
255243c16a
Implement Sync for VideoInfo and AudioInfo
...
They are immutable on the Rust side after all.
2018-09-22 10:56:25 +03:00
Sebastian Dröge
edd3178656
Add libwayland-egl1-mesa to travis dependencies
2018-09-21 17:45:38 +03:00
Sebastian Dröge
3be4dc56b3
Update travis to use GStreamer 1.14.3 binaries (including OpenGL library)
2018-09-21 17:45:23 +03:00
Sebastian Dröge
549ad086d5
Update travis to use GStreamer 1.14.3 binaries (including OpenGL library)
2018-09-21 17:31:18 +03:00
Sebastian Dröge
05b591c709
Update CHANGELOG.md for 0.12.1
2018-09-21 11:43:01 +03:00
Sebastian Dröge
0628961c94
Add bindings for is_video_overlay_prepare_window_handle_message()
2018-09-13 22:56:47 +03:00
Sebastian Dröge
6cf34b1b39
Add VideoOverlay::prepare_window_handle() and got_window_handle()
2018-09-13 22:53:13 +03:00
Sebastian Dröge
0ddab16801
Update versions to 0.13.0
2018-09-10 01:54:25 +03:00
Sebastian Dröge
7606e6f346
Add README.md to gstreamer-webrtc
2018-09-10 01:54:07 +03:00
Sebastian Dröge
a2a7eac8a8
Update CHANGELOG.md for 0.12.0
2018-09-10 01:54:07 +03:00
Sebastian Dröge
3a668fd0a1
Update version to 0.7.0
2018-09-10 01:34:53 +03:00
Sebastian Dröge
d44c09f12b
Update CHANGELOG.md for 0.6.0
2018-09-10 01:34:04 +03:00
Víctor Manuel Jáquez Leal
fdcc8ff36e
Regenerate everything with latest GIR
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
1eb7832602
Update gir
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
7386cdad1e
Update gir-files to 1.14.2
...
Using Debian gir files
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
c3235e87d0
Remove GObject dependency in Gir_GstApp.toml
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
eddee893bc
remove unused GstTag dependency in audio y pbutils
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
9a490b9c28
webrtc: gstreamer as aliased external libraries
...
Otherwise gir will not add as external crate gst_sys which doesn't
exist, but gstreamer_sys.
2018-09-07 19:41:45 +03:00
Víctor Manuel Jáquez Leal
4bbd7fefc6
Update gir-files to 1.14.2
...
Using Debian gir files
2018-09-07 19:17:32 +03:00
Sebastian Dröge
08dcd9f22e
Update ron dependency (for tests) to 0.4
2018-09-06 14:10:30 +03:00
Víctor Manuel Jáquez Leal
25142fc3b5
generator.py: change heuristic to modify Cargo.toml
...
It is easy to forget to add the final comma in the last item in
the workspace member list, thus the current heuristic breaks the
Cargo.toml parsing.
Instead of trying to append the gir item, it is inserted at
position end-2, avoiding the previous described situation.
2018-09-06 11:56:48 +03:00
Sebastian Dröge
3119593292
Add pango-cairo example
2018-08-30 11:14:59 +03:00
Sebastian Dröge
2e139bd202
Update CHANGELOG.md for 0.11.6
2018-08-27 10:04:16 +03:00
Arun Raghavan
acdc837a15
examples: Explicitly define [bin] section for discoverer
2018-08-18 11:45:10 +03:00
Sebastian Dröge
3c900e6102
Regenerate with latest gir
2018-08-18 00:25:12 +03:00
Sebastian Dröge
06bd23f833
Fix compilation of iterator example
2018-08-13 23:46:22 +03:00
Sebastian Dröge
a6d9fe4b0a
Remove std::iter::Iterator impl from gst::Iterator
...
It does not work well with possibly errors during iteration and
requiring to possibly resync.
2018-08-13 20:35:28 +03:00
Sebastian Dröge
0d70950821
Implement Pad::sticky_events_foreach()
2018-08-13 19:58:30 +03:00
Sebastian Dröge
999c84f0a0
Implement ValueExt::compare() around std::cmp::Ordering and implement an eq() function
...
No need for a custom enum
2018-08-10 14:22:15 +03:00
Sebastian Dröge
dba110e8ad
Fix build with two-phase-borrows/NLL
2018-08-08 09:16:18 +02:00
Sebastian Dröge
cf9e875878
Implement Ord/PartialOrd on Seqnum
2018-08-06 11:25:44 +03:00
Philippe Normand
58741b7ea2
gstreamer: Implement deinit() function
...
This function is especially usefull when using the leaks tracer. It was removed
in commit e7a0543c
.
2018-08-04 18:39:53 +03:00
Sebastian Dröge
ccca8248c3
Add getter for the current pad mode
2018-08-01 19:28:57 +03:00
Sebastian Dröge
9e90a1264f
Add getter for the aggregator pad segment
2018-08-01 19:24:54 +03:00
Sebastian Dröge
c7fa48984e
Aggregator is only available from gstreamer-base since 1.14
2018-07-31 00:05:40 +03:00
François Laignel
0eb6bcf0c0
serde: restrain unneeded visibilities
2018-07-30 23:18:30 +03:00
François Laignel
68263ffc7d
Buffer: serde: add a TODO for a future better design attempt
...
Serialization and deserialization are asymetrical: ser uses string literals
and de uses a dedicated `struct`, leading to possible inconsistencies.
The idea is to rely on a single `struct` for both ser and de. The only
problem is that, in order to avoid unneeded copies, `buffer` requires an owned
`ByteBuf` for de and a borrowed `Bytes` for ser. `Either` could help adapting
to both situations.
2018-07-30 23:18:30 +03:00
François Laignel
3ed7257da9
DateTime: serde: use an enum
2018-07-30 23:18:30 +03:00
François Laignel
9fd5392a16
value: serde: use stringify
for types
2018-07-30 23:18:30 +03:00
François Laignel
6bda3ef174
serde: add roundtrip tests
...
This allows making sure serialization and deserialization are in sync for
types with asymetrical implementations.
2018-07-30 23:18:30 +03:00
François Laignel
64ea419839
Caps: serde as an enum
...
`Caps` can be `any`, `empty` or matching a list of `Structures`.
2018-07-30 23:18:30 +03:00
François Laignel
9f2f684188
format: serde: avoid redundant ()
for some types
2018-07-30 23:18:30 +03:00
François Laignel
dfc961679f
segment: serde FormattedSegment
s too
...
... and use the same `struct` for serialization and deserialization so
that fields mapping consistency is ensured at compilation time.
2018-07-30 23:18:30 +03:00
François Laignel
ab9cd29bd6
serde: fmt pass
...
Note: clippy didn't raise any warning
2018-07-30 23:18:30 +03:00
François Laignel
d4fb10ef4c
Toc: serde: rename loop_
to loop
2018-07-30 23:18:30 +03:00
François Laignel
0aac055727
Caps: serde: use a placeholder for CapsFeature
...
`CapsFeature` is not available in `gstreamer-rs` yet. Use a placeholder
with a `None` value for now.
2018-07-30 23:18:30 +03:00
François Laignel
fd0c3f4464
Structure: de: pass the new Structure
to the Visitor
...
Use a `DeserializeSeed` to pass the newly created and named `Structure`.
2018-07-30 23:18:30 +03:00
François Laignel
23307a4795
Tags: ser/de: gather tags with the same name together
2018-07-30 23:18:30 +03:00
François Laignel
d856fedf06
Buffer: ser: don't panick if not readable
2018-07-30 23:18:30 +03:00
François Laignel
693121bc55
Buffer: fix instanstiation during deserialization
2018-07-30 23:18:30 +03:00
François Laignel
90b046fbcf
serde: separate serde impl and tests from base module
...
+ fix erroneous `datetime` instead of `buffer` in `BufferRef::serialize`
+ remove ser/de for `Value`s with types `ULong` & `ILong`
2018-07-30 23:18:30 +03:00
François Laignel
3f0cd6fb87
Toc: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
20834e475b
Tags: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
4f948e2cce
Sample: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
5e6f80cc32
Segment: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
a2c4e78f70
GenericFormattedValue: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
0f1d3bea89
BufferList: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
862afe5cc7
Buffer: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
138a0fb18c
ClockTime: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
49d3ee29e9
Caps: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
1ef83c24b8
Structure: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
778e11742f
value: serde impl
2018-07-30 23:18:30 +03:00
François Laignel
0d65b7f1ed
DateTime: serde impl
2018-07-30 23:18:30 +03:00
Sebastian Dröge
2d97d96874
Add bindings for basetransform/src get_buffer_pool()
2018-07-30 12:55:41 +03:00
Sebastian Dröge
5df360a983
Add bindings for aggregator and aggregagor pad
2018-07-30 12:55:41 +03:00
Sebastian Dröge
2240ef109f
Regenerate with latest GIR and update for the glib::Quark changes
2018-07-30 11:46:40 +03:00
Sebastian Dröge
33a6aab6d7
Run everything through latest rustfmt
2018-07-27 13:36:40 +03:00
Sebastian Dröge
8f9c0a72e0
Get rid of all usage of send-cell
2018-07-27 13:25:47 +03:00
Sebastian Dröge
c0422acf66
Fix reference cycles and minor related problems in all examples and tutorials
...
These are now all leak-free.
2018-07-27 13:07:24 +03:00
Sebastian Dröge
ec8b55ec30
Stream-line pad probe code
...
Don't take another reference of the data passed through the pad probes,
i.e. keeping buffers writable if they're writable.
2018-07-26 03:14:04 +03:00
Sebastian Dröge
632d5f4c57
Change some empty structs to empty enums
...
These should only really exist at the type-level.
2018-07-25 10:07:20 +03:00
Sebastian Dröge
26d9d304c4
Update CHANGELOG.md for 0.11.5
2018-07-24 15:55:07 +03:00
Sebastian Dröge
af5470a8b0
Unref the message in sync bus handlers if Drop is returned
2018-07-24 15:35:26 +03:00
Sebastian Dröge
93b32882ee
tags: Use to_glib_none() to convert &str to a C string instead of as_ptr()
...
The latter does not necessarily give us a NUL-terminated string.
Fixes https://github.com/sdroege/gstreamer-rs/issues/122
2018-07-23 10:17:38 +03:00
Sebastian Dröge
694bcaa697
Fix all clippy warnings
...
Or silence the ones we don't care about.
2018-07-20 10:28:20 +03:00
Sebastian Dröge
fc79b4c4c8
Update CHANGELOG.md for 0.11.4
2018-07-19 18:52:30 +03:00
François Laignel
02a8e9faa0
Tags: more and better getters/adder factorizations
2018-07-12 07:22:39 +02:00
François Laignel
7ca54cf1c5
Tags: factorize get_index
unsafe code
2018-07-12 07:22:39 +02:00
François Laignel
0b9edee8d7
Tags: use SendValue
for generic getters and iterator
2018-07-12 07:22:39 +02:00
François Laignel
be9ef0d152
Tags: implement generic iterators
...
This is the continuation of PR #107 by @ystreet
2018-07-12 07:22:39 +02:00
Matthew Waters
2e1f1eadac
tags: add dynamic tag retrieval based on string's and Value's
...
The rust compiler won't complain if you use the wrong types with the
dynamic getter/adder however GStreamer itself does.
2018-07-12 07:22:39 +02:00
Matthew Waters
fa054fe3b0
gst/tags: combine the static tag references into the impl_tag macro
...
There's no real reason to have them separate when there's already a
macro making types for different tags.
2018-07-12 07:22:39 +02:00
Sebastian Dröge
73a5b26638
Use ParamSpec for the deep-notify signal callback instead of just the name
...
And allow filtering by property-name via the signal details
2018-07-09 19:47:15 +02:00
Sebastian Dröge
dc32d338ef
Let various Caps operations take &CapsRef instead of &Caps
2018-07-06 17:58:54 +02:00
Sebastian Dröge
480d373fbc
Caps::subtract() does not take ownership of the arguments and can be implemented for CapsRef
2018-07-06 17:56:55 +02:00
Sebastian Dröge
8c268ecd06
Gracefully return None in Caps::get_structure() if the index is too high
2018-07-06 10:36:00 +02:00
Sebastian Dröge
75acd7ea95
Fix typefind test if typefind factories without caps are available
2018-07-06 10:35:57 +02:00
Sebastian Dröge
e88017f914
Ensure that miniobjects are writable before creating a mutable borrow
2018-07-06 10:29:09 +02:00
Sebastian Dröge
a3dffc2faa
Switch from futures to futures-preview crates
...
Fixes https://github.com/sdroege/gstreamer-rs/issues/118
2018-06-29 07:43:29 +02:00
Sebastian Dröge
e0972ae1e5
Get rid of manual usage of callback_guard!
2018-06-24 14:52:50 +03:00
Sebastian Dröge
2085d170be
Get rid of callback_guard! as unwinding through FFI is defined behaviour now and aborts
2018-06-24 14:42:11 +03:00
Sebastian Dröge
bd1fb746de
Update to num-rational 0.2
2018-06-22 10:27:14 +03:00
JohanGoversTech
db3fe69415
Change return type of add_probe to support removing ( #116 )
...
* Change return type of add_probe to support 0 PadProbeId
* use from_glib for the conversion of the PadProbeId
2018-06-14 15:45:54 +03:00
François Laignel
f4d57a6652
Fix memory issue building a Sample
with an info
Structure
...
The following code in a `[test]`:
``` rust
let info = Structure::builder("sample.info")
.field("f3", &123i32)
.build();
let sample = Sample:🆕 :<GenericFormattedValue>(
None,
None,
None,
Some(info.as_ref())
);
```
generates one of the followings executing `cargo test`:
```
- segmentation fault
- signal: 6, SIGABRT: process abort signal
- signal: 11, SIGSEGV: invalid memory reference
```
This is due to `ffi::gst_sample_new` expecting to take ownership of the `info`
`Structure`.
2018-06-12 00:23:10 +03:00
Sebastian Dröge
d2272fefa7
Update CHANGELOG.md for 0.11.3
2018-06-08 10:27:24 +03:00
Sebastian Dröge
c2ee8d226c
Print more fields in the VideoInfo fmt::Debug impl
2018-06-08 10:19:25 +03:00
Sebastian Dröge
f271c99498
Implement fmt::Debug for AudioInfo
2018-06-08 10:19:06 +03:00
Sebastian Dröge
85ca3b94a3
Add accessors for the type/sdp fields of the WebRTCSessionDescription
...
See https://github.com/sdroege/gstreamer-rs/issues/108#issuecomment-393505826
2018-06-06 00:31:05 +03:00
Sebastian Dröge
ba4b4a03f0
Update gir-files from gstreamer-sys
2018-06-06 00:26:36 +03:00
Sebastian Dröge
d9078774c3
Fix WebRTCICETransport and WebRTCDTLSTransport parent classes
2018-06-06 00:25:51 +03:00
Philippe Normand
3451d5702d
GstPlayer: Expose PlayerVisualization name and description
...
The name is the identifier of the visualization that has to be passed to
gstreamer_player::Player::set_visualization().
Fixes #111
2018-06-04 20:47:59 +03:00
Sebastian Dröge
b6a5686798
Add various other WebRTC related enums/flags types to the bindings
...
While they are not used by the types we have, they are used by the
webrtcbin element and are required for setting properties.
Fixes https://github.com/sdroege/gstreamer-rs/issues/110
2018-06-04 09:00:09 +03:00
Sebastian Dröge
8d0a0ee6b1
Directly use byte-slice-cast on the mapped buffer
...
No need to first get a byte slice from it anymore due to the buffer map
implementing AsRef/AsMut for byte slices
2018-06-01 11:55:13 +03:00
Sebastian Dröge
8ff9294f9d
Update to byte-slice-cast 0.2.0
2018-06-01 11:52:56 +03:00
maxmcd
40c206d813
Add sdp message init in parse functions
2018-05-31 16:30:18 +03:00
Sebastian Dröge
1192a027b4
Regenerated with latest GIR and GIR files
2018-05-21 11:55:19 +03:00
Sebastian Dröge
710c4d218a
Regenerate everything with latest GIR and GIR files
2018-05-21 11:28:43 +03:00
Sebastian Dröge
03bf57d5d4
Update GStreamer GIR files from latest 1.14 branch
2018-05-21 11:20:51 +03:00
Sebastian Dröge
82b56e782b
Update GStreamer GIR files from latest 1.14 branch
2018-05-21 11:19:54 +03:00
Sebastian Dröge
4692806b00
Add Bus::remove_watch()
...
It was accidentially ignored before
2018-05-19 10:37:09 +03:00
Sebastian Dröge
da6b04abfd
Bus::create_watch() can't return None, change it to return no Option
2018-05-19 10:36:15 +03:00
Sebastian Dröge
dc219af36e
Add another comment to the appsrc example about the need-data callback not being mandatory
2018-05-18 11:42:24 +03:00
Sebastian Dröge
7734725da1
Change appsrc example to directly push data from the need-data callback
...
There's no need to start yet another thread just to push data in this
case, we can simply use the callback and store the frame counter in the
mutable environment of the closure.
2018-05-18 11:38:50 +03:00
Thibault Saunier
a10532c379
video_info: Implement fmt::Debug
2018-05-14 09:22:25 +03:00
Thibault Saunier
2962f186f7
Print pointer value when formatting debug strings
2018-05-14 09:22:25 +03:00
Sebastian Dröge
be646e78d9
Update to muldiv 0.2
2018-05-11 10:37:19 +03:00
Sebastian Dröge
7429138274
Update CHANGELOG.md for 0.11.2
2018-05-09 12:48:33 +03:00
Sebastian Dröge
c31921e093
Further work-arounds for floating reference handling changes between 1.12 and 1.14
...
This fixes various memory-safety issues caused by broken reference
counting. We have to handle pre-1.14 and post-1.14 differently in
constructors.
See https://bugzilla.gnome.org/show_bug.cgi?id=743062#c30
2018-05-09 12:20:59 +03:00
Sebastian Dröge
2cefd9aea6
Re-run everything through rustfmt
2018-04-25 11:13:14 +03:00
Sebastian Dröge
062403bdac
appsrc need-data and all appsink callbacks can only be called from a single thread at a time
...
As such, make them FnMut and remove the Sync requirement from them. We
can only do this for the callbacks and not the signals, because the
signals can in theory be emitted from anybody (outside the object!)
at any time.
2018-04-25 11:13:14 +03:00
Sebastian Dröge
5ef13a11b0
Fix compiler warning about too many parenthesis
2018-04-23 20:46:29 +03:00
Sebastian Dröge
2d260b4f0c
Rename manual files with too many underscores
2018-04-23 20:45:15 +03:00
Sebastian Dröge
46d27e3e75
Regenerate everything with latest GIR
2018-04-23 20:45:15 +03:00
Sebastian Dröge
a4c3c7cd76
Add futures example using the GLib futures executor
2018-04-23 20:31:27 +03:00
Sebastian Dröge
4b4f369200
Rename tokio example to futures
...
It has nothing to do with tokio anymore with the newer futures version,
tokio would only come in if actual tokio API (e.g. for sockets) is used.
2018-04-23 20:27:51 +03:00
Sebastian Dröge
a276c226fd
Port BusStream to futures 0.2
2018-04-23 20:27:17 +03:00
Sebastian Dröge
283ff82a53
Regenerate everything with latest GIR
2018-04-23 20:07:07 +03:00
Sebastian Dröge
f1c28ef10f
Update gir
2018-04-23 20:04:45 +03:00
Sebastian Dröge
5dd17d6248
Update CHANGELOG.md for 0.11.1
2018-04-07 20:32:28 +03:00
Sebastian Dröge
3784b0a97d
Add CHANGELOG.md/README.md to pbutils
2018-04-07 20:32:22 +03:00
Sebastian Dröge
03055f4e84
Change Structure/StructureRef to_string() to the minimal required fix
...
And add a comment to why we need it. No other struct with a to_string()
function is affected.
https://github.com/sdroege/gstreamer-rs/issues/101
2018-04-07 13:37:44 +03:00
Sebastian Dröge
ce9b98f338
Add Display impl for StructureRef too
2018-04-06 13:22:08 +03:00
Sebastian Dröge
f346d57b4f
Fix infinite recursion in Structure::to_string()
...
Instead of StructureRef's to_string(), we were calling
ToString::to_string() in the Display impl. Which then called into itself
again.
Fixes https://github.com/sdroege/gstreamer-rs/issues/101
2018-04-06 13:22:08 +03:00
Guillaume Desmottes
c5617f6a47
WIP: test Structure string conversions
2018-04-06 13:22:08 +03:00
Sebastian Dröge
2fe925927b
Add missing imports to sdp library and fix build
2018-04-05 23:06:18 +03:00
Sebastian Dröge
ad038cb54d
Update webrtc/sdp docs
2018-04-05 22:25:13 +03:00
Sebastian Dröge
d850a4d50a
Add missing file
2018-04-05 21:22:40 +03:00
Sebastian Dröge
fb73d1bc15
Get rid of GstSDPResult enum
2018-04-05 21:06:49 +03:00
Sebastian Dröge
19b6987012
Fix various compiler warnings
2018-04-05 21:06:49 +03:00
Sebastian Dröge
57c62789d9
Finish WebRTC library
2018-04-05 21:06:49 +03:00
Sebastian Dröge
0ff3dd150c
Re-export all public API from the SDP library
2018-04-05 21:06:49 +03:00
Sebastian Dröge
873ddf0de6
Run gstreamer-sdp and gstreamer-webrtc through rustfmt
2018-04-05 21:06:49 +03:00
Sebastian Dröge
2de1f6f7a5
Use correct branches for gstreamer-webrtc for the -sys dependencies
2018-04-05 21:06:49 +03:00
Bo Du
05fec4d927
Free on error. Use pub(crate). Minor fixes.
2018-04-05 21:06:49 +03:00
Bo Du
3ecd67ee46
Address PR comments and fix compilation errors
2018-04-05 21:06:49 +03:00
Bo Du
36d538c0a0
Add SDPMessage definition and other manual SDP definitions.
2018-04-05 21:06:49 +03:00
Bo Du
92016945fc
Update auto-gen'ed files.
2018-04-05 21:06:49 +03:00
Sebastian Dröge
3a0c972304
WebRTC/SDP WIP
2018-04-05 21:06:49 +03:00
Sebastian Dröge
9a3ef2e9f1
Regenerate with latest GIR and update for the non-bitflags flags in -sys now
2018-04-04 10:47:12 +03:00
Sebastian Dröge
a9a4608562
Fix doubled Gst dependency and link library for gstreamer-webrtc-sys
2018-04-04 10:29:27 +03:00
Sebastian Dröge
c1ae289fe8
Add ABI tests and generate with latest GIR
...
This is also getting us rid of bitflags.
The ABI tests are not all succeeding yet.
2018-04-04 10:29:27 +03:00
Sebastian Dröge
0d33dfdcff
Update gir-files from 1.14 branch
2018-04-04 10:28:37 +03:00
Sebastian Dröge
492c3d656c
Run everything through rustfmt again
2018-04-01 11:57:58 +03:00
Sebastian Dröge
fca0287dec
Use ptr::NonNull in various places
2018-04-01 11:29:55 +03:00
Fernando Jiménez Moreno
b6a80b59fa
Update homebrew instructions to install optional plugins
2018-03-21 11:54:42 +02:00
Sebastian Dröge
15116d0f98
Update CHANGELOG.md for 0.11.0
2018-03-20 12:47:58 +02:00
Sebastian Dröge
6d5f7337fc
Update version to 0.12.0
2018-03-20 12:37:24 +02:00
Sebastian Dröge
f3924399aa
Update docs to 1.14.0
2018-03-20 12:36:29 +02:00
Sebastian Dröge
0c4431e68e
Add README.md for webrtc library
2018-03-20 12:29:32 +02:00
Sebastian Dröge
8312dd237d
Update versions to 0.6.0
2018-03-20 12:05:52 +02:00
Sebastian Dröge
b3b0e5e4ff
Update CHANGELOG.md for 0.5.0
2018-03-20 12:05:52 +02:00
Sebastian Dröge
68ba4d23bb
Update to using the master branch of gstreamer-sys again
2018-03-20 12:04:16 +02:00
Sebastian Dröge
a6edcf4371
Update .travis.yml for the new 1.14 paths
2018-03-20 11:54:19 +02:00
Sebastian Dröge
a33fd41d02
Regenerate everything with latest gir
2018-03-20 11:52:29 +02:00
Sebastian Dröge
185fdd0226
Update gir-files with gstreamer 1.14.0
2018-03-20 11:51:58 +02:00
Sebastian Dröge
338f1c1768
Update .travis.yml for 1.14 patches
2018-03-20 11:40:52 +02:00
Sebastian Dröge
81dca53767
Update to gstreamer 1.14.0
2018-03-20 10:42:53 +02:00
Sebastian Dröge
7e39cbbfed
Update gir-files to gstreamer 1.14.0 release
2018-03-20 10:32:49 +02:00
François Laignel
cd56d60352
Bus::get_pollfd generate doc for both unix & windows
...
There are different implementations and signatures for `get_pollfd` depending
on whether the target platform is unix or windows. When generating the doc,
we need both implementations to appear regardless of the target platform. This
commit is inspired by the way Rust `std` library deals with `process::Command`
OS dependent variants
(https://doc.rust-lang.org/std/process/struct.Command.html#impl-CommandExt ).
Documentation can't be accurate though as we can't use the`std::os::windows`
on `unix` and vice versa. As a workaround a fake fd class matching the other
platform is declared.
This could be further enhanced once `#[doc(cfg(...))]` is stabilized
(https://github.com/rust-lang/rust/issues/43781 ) by declaring `#[doc(cfg(unix))]`
or `#[doc(cfg(windows))]` instead of the hard coded comments `This is supported
on **Windows/Unix** only`. Unfortunately, these comments disappear when
generating will `--all-features` because they are not part of the documentation
in the gir file.
2018-03-19 13:48:59 +02:00
François Laignel
406eb119d3
message: add test_other_fields
...
Fixes https://github.com/sdroege/gstreamer-rs/pull/93
2018-03-19 10:32:07 +02:00
Sebastian Dröge
3a755219f4
Add Promise bindings
2018-03-19 10:32:07 +02:00
Sebastian Dröge
0112d22804
Various manual 1.14 API additions and remove deprecated functions
2018-03-19 10:32:07 +02:00
Sebastian Dröge
4864a1e089
Fix build
2018-03-19 10:32:07 +02:00
Sebastian Dröge
7f479b0e14
Use correct gstreamer-sys branch
2018-03-19 10:32:07 +02:00
Sebastian Dröge
1abe9cbeb9
Update gstreamer
2018-03-19 10:32:07 +02:00
Sebastian Dröge
6bd63ec8e7
Update gstreamer-video
2018-03-19 10:32:07 +02:00
Sebastian Dröge
033a391f89
Update gstreamer-sdp
2018-03-19 10:32:07 +02:00
Sebastian Dröge
1cf681f50e
Update gstreamer-rtsp
2018-03-19 10:32:07 +02:00
Sebastian Dröge
ba73440a9a
Update gstreamer-rtsp-server
2018-03-19 10:32:07 +02:00
Sebastian Dröge
68951d775f
Update gstreamer-player
2018-03-19 10:32:07 +02:00
Sebastian Dröge
c4cdcc7b68
Update gstreamer-pbutils
2018-03-19 10:32:07 +02:00
Sebastian Dröge
50505d19b8
Update gstreamer-net
2018-03-19 10:32:07 +02:00
Sebastian Dröge
99d4fe0925
Update gstreamer-base
2018-03-19 10:32:07 +02:00
Sebastian Dröge
a4f1300f72
Update gstreamer-audio
2018-03-19 10:32:07 +02:00
Sebastian Dröge
e3774ad458
Update gstreamer-app
2018-03-19 10:32:07 +02:00
Sebastian Dröge
b25a071145
Update gir-files from gstreamer-sys
2018-03-19 10:32:07 +02:00
François Laignel
88a68dff3e
Fix futures
crate not being pulled with feature dox
...
When feature `dox` is selected but not `futures`, the `futures` crate is not
available as a dependency leading to a "can't find crate for `futures`" error.
2018-03-19 10:31:41 +02:00
François Laignel
93442e94dd
element: add feature gate for test_call_async
...
Fixes https://github.com/sdroege/gstreamer-rs/pull/92
2018-03-16 17:51:56 +02:00
Sebastian Dröge
11c974a55e
Fix some unused import compiler warnings if using < v1_10
2018-03-16 12:28:20 +02:00
Sebastian Dröge
fc7cda4522
Directly dereference DebugCategory struct to read the threshold and #[inline]
...
This should improve logging performance if the threshold is not high
enough.
2018-03-16 12:27:36 +02:00
Sebastian Dröge
217a8671a5
More webrtc API fixup
2018-03-15 17:34:40 +02:00
Sebastian Dröge
3bf11dd4b4
Update for GstWebRTCICERole enum rename
2018-03-15 17:00:38 +02:00
Sebastian Dröge
9c390351c4
Add gstreamer-webrtc-sys
2018-03-15 12:18:06 +02:00
Sebastian Dröge
b488594eed
Regenerate everything for 1.13.91
2018-03-15 09:48:53 +02:00
Sebastian Dröge
605af9a77b
Require only 1.13.91 for the v1_14 feature for now
2018-03-15 09:45:31 +02:00
Sebastian Dröge
7819907118
Update gir-files to GStreamer 1.13.91
2018-03-15 09:44:58 +02:00
Sebastian Dröge
0cdf5744c3
Regenerate everything with new GIR files
2018-03-14 18:59:28 +02:00
Sebastian Dröge
c38af51bf0
Add Element::call_async() bindings
2018-03-14 15:42:17 +02:00
Fernando Jiménez Moreno
56555f6b52
Add gst-rtsp-server dependency to README
2018-03-12 20:49:14 +02:00
Sebastian Dröge
de8f4694f5
Add initial BufferPool bindings
2018-03-07 11:08:21 +02:00
Sebastian Dröge
6af207c3e4
Update gir-files to 1.13.1+
2018-03-02 22:24:09 +02:00
Mathieu Duponchelle
9448f1cc3e
Manual bindings for RTSPToken
2018-03-02 22:12:37 +02:00
Sebastian Dröge
3204009d98
Update GLib gir files from Debian/unstable
2018-03-02 21:58:19 +02:00
Sebastian Dröge
a3b294f0f2
Add back callback guards
2018-03-02 21:34:29 +02:00
Sebastian Dröge
808ff293ec
Regenerate everything with latest gir
2018-03-02 21:34:29 +02:00
Sebastian Dröge
dab93d4334
Update gir-files from gstreamer-sys
2018-03-02 21:17:04 +02:00
Sebastian Dröge
7e2df42638
Regenerate everything with latest GIR
2018-03-02 21:16:11 +02:00
Sebastian Dröge
d84e24e744
Update gir-files from gstreamer-rs
2018-03-02 21:13:59 +02:00
Sebastian Dröge
cd95920436
Run everything through rustfmt
2018-03-02 21:06:45 +02:00
Sebastian Dröge
7f265a23bd
Rename DiscovererStreamInfo iterator simply to Iter and don't re-export it top-level
2018-03-02 21:02:30 +02:00
Thiago Santos
c81e177cfb
pbutils: add discoverer APIs
...
Fixes https://github.com/sdroege/gstreamer-rs/pull/84
2018-03-02 21:02:24 +02:00
Mathieu Duponchelle
e6265341d5
Add rtsp-server-record example with authentication and TLS
...
Update the generated files to include TLS related functions,
override some auth and token functions.
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle
f8108d3dcf
Update GstRtspServer-1.0.gir
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle
7b082de6da
Regen with latest gir
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle
ab0df6ddf0
examples: use Cargo.toml required-features
...
This lets us avoid #ifdef forests
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle
45bb8fe3e0
rtpfecserver example: mux-seq property was removed from rtpulpfecenc
2018-02-26 19:19:59 +02:00
Sebastian Dröge
4117c01ff2
Run everything through latest rustfmt-nightly
2018-02-22 11:18:37 +01:00
Mathieu Duponchelle
1fbc5e7644
examples: add rtpfec example
...
Fixes https://github.com/sdroege/gstreamer-rs/pull/73
2018-02-22 07:45:22 +01:00
Mathieu Duponchelle
9b9a0fd149
all around: disable print_system_libs in calls to pkg-config
...
By default, pkg-config-rs sets the PKG_CONFIG_ALLOW_SYSTEM_LIBS
environment variable
(https://github.com/alexcrichton/pkg-config-rs/pull/35 ), which leads
to eg /usr/lib being present in the middle of the final command,
in turn leading to issues when working in an uninstalled environment,
where libraries that are also present system-wide do not get linked
against.
2018-02-21 20:26:02 +01:00
Sebastian Dröge
828f639cc7
Fix unused import compiler warning in tokio example
2018-02-21 13:26:07 +01:00
François Laignel
84e4546f72
Toc: implement Debug trait
2018-02-20 19:29:26 +01:00
Sebastian Dröge
f92f0a99e8
Update CHANGELOG.md for 0.10.2
2018-02-18 23:25:11 +01:00
Sebastian Dröge
6855a40588
Update CHANGELOG.md for 0.4.1
2018-02-18 23:12:52 +01:00
Sebastian Dröge
f1426c82ba
Remove callback guards
...
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 19:58:41 +02:00
François Laignel
c971727193
Query: allow concrete query instantiation
...
Allow instantiating and dereferencing concrete queries. The motivation
for this proposal is to allow the following usability enhancements:
- Concrete queries mutability guaranteed by the borrow checker,
including for generic functions:
``` rust
let mut p = Query::new_position(::Format::Time);
p.get_mut_structure().set("check_mut", &true);
```
- Concrete queries functions available in place:
``` rust
let mut q = gst::Query::new_duration(gst::Format::Time);
let duration = if pipeline.query(&mut q) {
Some(q.get_result())
} else {
None
};
```
2018-02-16 10:33:40 +02:00
Sebastian Dröge
b4d5c98834
Add bindings for GstRTSPContext
...
This enables most of the signals of GstRTSPClient
2018-02-15 17:04:32 +02:00
Mathieu Duponchelle
a00243d529
Add initial libgstsdp, libgstrtsp and libgstrtspserver bindings
...
Only automatic bindings for now, which is enough to allow
implementing a simple rtsp-server example.
Depends on https://github.com/sdroege/gstreamer-sys/pull/8
Uses a new gir feature proposed at
https://github.com/gtk-rs/gir/pull/539 to make doc regeneration
easier.
Fixes https://github.com/sdroege/gstreamer-rs/pull/80
2018-02-14 18:57:58 +02:00
Sebastian Dröge
08dbde4c0e
Add getters for the BaseSrc/Sink/Transform configured segment
2018-02-12 10:44:44 +02:00
Sebastian Dröge
67913348f5
Remove unused bitflags crate from gstreamer-sdp-sys
2018-02-09 11:32:33 +02:00
Sebastian Dröge
b46863b073
Fix gstreamer-net-sys native library name
2018-02-09 11:32:33 +02:00
Sebastian Dröge
6e7506894c
Use external_libraries rename feature of GIR
2018-02-09 11:32:33 +02:00
Sebastian Dröge
fcee935e0d
Minor cleanup of sdp/rtsp/rtsp-server crates
...
- Add myself to authors so I can upload the crate whenever doing releases
- Add missing features/versions to build.rs
- Simplify glib/gobject/gio-sys dependencies in Cargo.toml
2018-02-09 11:32:33 +02:00
Mathieu Duponchelle
2f22e8c325
Add bindings for GStreamer Sdp, Rtsp and RtspServer libraries
...
Fixes https://github.com/sdroege/gstreamer-sys/pull/8
2018-02-09 11:32:26 +02:00
Sebastian Dröge
2f179a832c
Fix compilation after gstreamer-sys regeneration with unions
2018-02-07 18:53:12 +02:00
Sebastian Dröge
7a914c481b
Regenerate everything with latest gir
2018-02-07 18:49:22 +02:00
Sebastian Dröge
ab27a1609e
Work around gobject-introspection bug with void* arrays
...
See https://github.com/gtk-rs/gir/issues/534
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=30833f6242b0480fd78a52cd8cc1169fd9b75706
2018-02-07 18:44:09 +02:00
Sebastian Dröge
f3b1ae8b1c
Update gir-files from gstreamer-rs
2018-02-07 18:42:45 +02:00
Sebastian Dröge
6d0d7a3df8
Regenerate everything with latest GIR
2018-02-06 16:42:34 +02:00
François Laignel
ac31688fbd
Value: use new union for GValue_data
2018-02-05 05:28:09 +01:00
fengalin
ce28fed070
Tutorials: message handlers: invoke generic Message method from the concrete message
...
Generic methods for events, messages and queries can now be invoked from the concrete type.
2018-01-29 17:33:49 +02:00
fengalin
21c687f256
Examples: message handlers: invoke generic Message method from the concrete message
...
Generic methods for events, messages and queries can now be invoked from the concrete type.
2018-01-29 17:33:49 +02:00
fengalin
da924e5d4d
Event & Message: factorize common attributes in generic builders
...
Concrete events and messages share common attributes which can be factorized in generic builder `struct`s. This reduces noise in the concrete implementations.
2018-01-29 17:33:49 +02:00
fengalin
2d1218e6d6
Event, Message & Query: allow dereferencing concrete types to access generic type methods
...
Implement `deref` for concrete derivatives of `Event`, `Message` and `Query`. This allows accessing generic methods such as `is_sticky` for events, `get_seqnum` for messages or `is_serialized` for queries and `get_structure` for all.
2018-01-29 17:33:49 +02:00
fengalin
86812c1a53
MessageBuilder: comment out other_fields related methods until GStreamer v1.14 is released
...
These methods are commented out in order to maintain consistency between messages with and without arguments. It will be restored and conditioned to feature "v1_14" when GStreamer v1.14 is released.
2018-01-29 10:07:42 +02:00
fengalin
3c65a50076
Fix building argument-less messages
...
Building an argument-less message such as eos yields an assertion failure due to the inner structure being null. The short term solution consists in checking that the inner `structure` is not `null` before attempting to insert `other_fields`. The consequence is that `others_fields` defined for argument-less messages will be ignored. A correction will be applied when GStreamer 1.14 is released thank to the introduction of `gst_message_writable_structure` (see https://bugzilla.gnome.org/show_bug.cgi?id=792928 ). Due to the dependency on GStreamer 1.14, the correction will be only available under the activation of a feature "v1_14".
Events are not affected as the build method the availability of `gst_event_writable_structure` and this function "will never return NULL". However, we can avoid a `structure` allocation for argument-less messages without `other_fields`.
2018-01-29 10:07:42 +02:00
Charlie Turner
b6979f248c
Address review comments
2018-01-26 18:18:50 +02:00
Charlie Turner
fa1b0e6c4a
Document dependency for libgstreamer-plugins-bad1.0-dev
2018-01-26 18:18:50 +02:00
Sebastian Dröge
ad219dd171
Remove PAD_PROBE_ID_INVALID and Default impls for PadProbeId and NotifyWatchId
...
These should never ever be 0, and passing 0 to any of the functions
using them will result in assertions.
2018-01-25 21:06:39 +02:00
Sebastian Dröge
fc4ad81777
Change VideoFrameRef::copy_to() and ::copy_plane() to take VideoFrameRefs instead of VideoFrames
...
VideoFrames can always be converted to a VideoFrameRef if needed.
2018-01-16 18:59:04 +02:00
Sebastian Dröge
4297f8f5c5
Don't implement Copy for VideoRectangle and pass by reference to center_video_rectangle()
2018-01-03 17:38:22 +02:00
Sebastian Dröge
98290bcc55
Update CHANGELOG.md for 0.10.1
2018-01-03 17:08:46 +02:00
Sebastian Dröge
899be5e2c3
Add VideoFrameRef API
...
This is like VideoFrame, but can work on gst::BufferRefs and borrows
from it. VideoFrames can be converted into this by borrowing.
2018-01-01 13:47:07 +02:00
Sebastian Dröge
a65016bea1
Add gst::Object as parent class of gst_player::Player
2017-12-30 15:34:41 +02:00
Sebastian Dröge
38bd880a74
Add GstVideoFilter bindings
...
Not very useful, but will be useful for gst-plugin-rs
2017-12-30 15:34:41 +02:00
Sebastian Dröge
6083fb63c2
Add unit test for gst_video::convert_sample_async()
2017-12-30 12:08:48 +02:00
Sebastian Dröge
c52da3639a
Fix memory leak for gst_video::convert_sample_async()
...
Values are passed owned to the callback
2017-12-30 12:08:26 +02:00
Sebastian Dröge
65468c1fc8
Add Sample::get_info() and deprecate get_structure()
...
For consistency with the C API naming.
2017-12-30 12:03:03 +02:00
Sebastian Dröge
4a9cb50670
Add Sample::with_buffer_list() constructor
2017-12-30 12:02:48 +02:00
Sebastian Dröge
f47b30b8d1
Add Debug impl for Sample
2017-12-30 12:02:33 +02:00
Sebastian Dröge
d44869711a
Run video_rectangle.rs through rustfmt
2017-12-26 18:18:13 +01:00
Philippe Normand
1722b047bd
gstreamer-video: VideoRectangle bindings
2017-12-26 18:17:30 +01:00
Sebastian Dröge
755982bb38
Correctly mark Stream and StreamType as requiring version 1.10 at least
...
Should fix https://github.com/sdroege/gstreamer-rs/issues/68
2017-12-26 18:13:15 +01:00
Sebastian Dröge
f4da93aadb
Add gst::TagSetter example
2017-12-24 14:49:56 +02:00
Sebastian Dröge
25a8ce4f8d
Add bindings for gst_video::convert_sample() and ::convert_sample_async()
2017-12-24 14:30:38 +02:00
Sebastian Dröge
c56251d673
Don't require a mutable self for TagSetterExtManual::add()
...
Like all GObjects, mutation works through interior mutability.
2017-12-23 11:43:09 +02:00
Sebastian Dröge
91d0723c1b
Fix documentation links for gstreamer-base/net
2017-12-22 15:35:11 +02:00
Sebastian Dröge
4a5987d03d
Update versions to 0.11.0
2017-12-22 15:06:06 +02:00
Sebastian Dröge
d68a12a413
Update versions to 0.5.0
2017-12-22 00:49:13 +02:00
Sebastian Dröge
461e3027c8
Update CHANGELOG.md for 0.4.0
2017-12-22 00:43:06 +02:00
Sebastian Dröge
92f50caeaa
Update CHANGELOG.md for 0.3.0
2017-12-22 00:36:09 +02:00
Sebastian Dröge
da9a9c5673
Regenerate with .gir file changes
2017-12-22 00:34:08 +02:00
Sebastian Dröge
fa4cca3cb3
Update Gst-1.0.gir
2017-12-20 22:59:28 +02:00
Sebastian Dröge
79acf5bec5
Add GstNet-related files
2017-12-16 14:37:53 +02:00
Sebastian Dröge
3702447957
Update Gst-1.0.gir from gstreamer-rs
2017-12-16 14:37:26 +02:00
Sebastian Dröge
48a61bc754
Add bindings for GStreamer Net library
2017-12-16 14:33:19 +02:00
Sebastian Dröge
1c667845e5
Fix gst_player_[gs]et_multiview_mode() argument type
...
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=20c4dc25fbbe68c9b7526059c50b74e818c12b10
2017-12-16 10:37:13 +02:00
Guillaume Gomez
bcc17efdfb
regen
2017-12-03 20:45:55 +02:00
Guillaume Gomez
8e49fa9f49
Add gir submodule and automatic build script
2017-12-03 20:45:55 +02:00
Sebastian Dröge
a296d16b5e
Update gir-files with filename/utf8 type fixes
2017-12-03 14:52:16 +02:00
Sebastian Dröge
5a1f57062f
Add README.md to gstreamer-sys subdirectory
2017-11-26 19:22:48 +02:00
Sebastian Dröge
042dd08090
Fix-up gstreamer-mpegts-sys dependencies
2017-11-26 19:19:51 +02:00
Sebastian Dröge
d501b15ff9
Update versions to 0.4.0
2017-11-26 19:16:07 +02:00
Sebastian Dröge
8e91ceb6e1
Regenerate everything with latest GIR
2017-11-05 18:58:43 +02:00
Sebastian Dröge
0726597615
Fix gst-plugin-rs repo name type in the other README.md
2017-10-30 10:55:03 +02:00
Ruben Gonzalez
2e76ecd46e
Fix typo in sdroege/gst-plugin-rs repo
2017-10-30 09:33:21 +01:00
fengalin
4b228f5f7f
gtsreamer-base: Fix version for gst_flow_combiner_ref/unref
...
gst_flow_combiner_ref/unref were introduced in gstreamer-1.12.1 but they
inherit the `since version` declared for `GstFlowCombiner` which is 1.4.
Fixes https://github.com/sdroege/gstreamer-sys/pull/5
2017-10-11 11:33:01 +03:00
Sebastian Dröge
1349ab5b30
Add dox feature to gstreamer-mpegts-sys
2017-10-01 15:31:53 +02:00
Russel Winder
b3cc2251ba
Add gstreamer-mpegts-sys bindings
...
Fixes https://github.com/sdroege/gstreamer-sys/pull/4
2017-10-01 15:16:55 +02:00
Sebastian Dröge
52b7c65080
Regenerate everything with latest GIR
2017-10-01 15:08:00 +02:00
fengalin
8b735ff536
Set version (1.12) for StackTraceFlags
...
Fixes https://github.com/sdroege/gstreamer-sys/pull/2
2017-09-17 18:57:14 +03:00
Sebastian Dröge
8bac723bc4
Include all files in the crates
2017-09-10 13:52:49 +03:00
Sebastian Dröge
24c6202b25
Remove unused extern crates
2017-09-10 13:51:57 +03:00
Sebastian Dröge
f3beca2007
Actually ship README.md with the crates and list them in Cargo.toml
2017-09-10 01:02:39 +03:00
Sebastian Dröge
0dbb5d6f19
Add a CHANGELOG.md to all crates
2017-09-10 00:52:36 +03:00
Sebastian Dröge
06dca7eb5e
Add README.md to all sub-crates
2017-09-10 00:32:23 +03:00
Sebastian Dröge
c5b07d02fd
Fix up features/version mess for each library
2017-09-10 00:32:23 +03:00
Sebastian Dröge
658fe26bf4
Fix various compiler warnings
2017-09-09 16:19:06 +03:00
Sebastian Dröge
15d893e556
Fix gst::DebugColorFlags type
...
It's a flags and not enum type
2017-09-09 16:17:18 +03:00
Sebastian Dröge
84a7a0ff6a
Remove Cargo.lock
...
It's not a good idea to lock to specific versions for library crates.
2017-09-01 13:54:12 +03:00
Sebastian Dröge
0d79fa041c
Add .gitignore
2017-08-31 10:57:19 +03:00
Sebastian Dröge
6bdd779fd0
Update versions in master to 0.3.0
...
This will later become 0.3.0, 0.2 development happens in the 0.2 branch
2017-08-31 10:47:18 +03:00
Sebastian Dröge
2593c0c82a
Update versions to 0.2.0
2017-08-28 19:28:41 +03:00
Sebastian Dröge
b695c6d521
Regenerate with latest gir
2017-08-28 19:27:17 +03:00
Sebastian Dröge
3f6d486142
Update to GIT master versions of glib-sys/gobject-sys
...
Fixes https://github.com/sdroege/gstreamer-sys/pull/1
2017-08-28 19:25:19 +03:00
Sebastian Dröge
b04215bfff
Fix pkg-config prefix for travis
2017-08-18 13:15:09 +03:00
Sebastian Dröge
9f9307360c
Also build another time with --all-features on travis
2017-08-15 13:34:51 +03:00
Sebastian Dröge
b293d7d03e
Add some badges
2017-08-15 10:32:34 +03:00
Sebastian Dröge
f2698880d9
Get GStreamer from a tarball for travis
2017-08-15 02:27:10 +03:00
Sebastian Dröge
252abbaeda
Update gstreamer-player-sys GIR file for correct annotations/types
...
And require the 1.12 API
2017-08-08 11:08:16 +03:00
Sebastian Dröge
669b24f661
Fix project name in README.md
2017-08-01 19:26:47 +03:00
Sebastian Dröge
8c9d7d6454
Add README.md
2017-08-01 19:21:59 +03:00
Sebastian Dröge
c4875a5946
Update GstApp-1.0.gir
2017-08-01 14:15:26 +01:00
Sebastian Dröge
0981a9c38b
Add gstreamer-player-1.0 sys bindings
2017-08-01 14:15:06 +01:00
Sebastian Dröge
8c0b6e6605
Update Gst-1.0.gir and regenerate
2017-07-28 17:33:06 +01:00
Sebastian Dröge
d51c5d24b9
Regenerate with latest gir
2017-07-21 15:13:47 +03:00
Sebastian Dröge
fa326c86cb
Regenerate with latest gir
2017-07-19 21:40:16 +03:00
Sebastian Dröge
fbadb070c6
Regenerate for updated .gir files
2017-06-25 11:15:44 +03:00
Sebastian Dröge
a6c8f62099
Update .gir files to 1.12.1
2017-06-25 11:15:44 +03:00
Sebastian Dröge
01d79cc53c
Update to bitflags 0.9
2017-06-07 17:14:32 +03:00
Sebastian Dröge
706bf6687a
Require GIT versions of glib-sys/gobject-sys
...
Otherwise development against GIT versions of glib-rs are not possible
due to linking in different versions of the same crate.
2017-05-22 11:35:40 +03:00
Sebastian Dröge
c7582139c7
Update to glib-sys/gobject-sys 0.3.4 and update versions to 0.1.1
2017-05-10 11:02:35 +02:00
Sebastian Dröge
385ff00de5
Update GIR files from 1.12.0 final release
2017-05-10 10:52:03 +02:00
Sebastian Dröge
0dc9558ea2
Update gstreamer-app-sys Cargo.toml for GIT gobject/glib-sys
2017-04-13 20:43:36 +03:00
Sebastian Dröge
6401bef067
Add GstApp bindings
2017-04-13 20:37:30 +03:00
Sebastian Dröge
92b40d02a4
Revert last commit
2017-04-10 14:35:44 +03:00
Sebastian Dröge
1e63a820a6
Fix GstTag bindings
2017-04-10 14:10:33 +03:00
Sebastian Dröge
d572897521
Fix-up the last truncated struct
2017-04-09 23:35:21 +03:00
Sebastian Dröge
80a0bfbc8d
Update to latest GIR and depend on GIT versions of glib-sys/gobject-sys
...
This now generates untruncated structs for almost everything.
2017-04-09 21:10:14 +03:00
Sebastian Dröge
57956cafad
Install libgstreamer-plugins-base1.0-dev for Travis
2017-04-09 13:41:27 +03:00
Sebastian Dröge
1fdcf48303
Add -sys bindings for GStreamer base, audio, video, tag, pbutils
2017-04-09 13:34:20 +03:00
Sebastian Dröge
235840cf05
Add manual steps to the .travis.yml
2017-04-06 20:40:11 +03:00
Sebastian Dröge
7b7c4e6ef5
Add a workspace Cargo.toml
2017-04-06 20:31:53 +03:00
Sebastian Dröge
faab4f5ef6
Require Ubuntu Trusty
2017-04-06 20:28:01 +03:00
Sebastian Dröge
0e69b703cd
Add travis.yml
2017-04-06 20:25:53 +03:00
Sebastian Dröge
b9cd7122ff
Include all files
2017-04-06 20:20:28 +03:00
Sebastian Dröge
9a28247f6b
Add license and various other fields to the Cargo.toml
2017-04-06 20:13:19 +03:00
Sebastian Dröge
ca59991a37
Renegerate gstreamer-sys
2017-04-05 17:28:50 +03:00
Sebastian Dröge
3a2097e040
Initial commit
2017-04-05 17:16:16 +03:00