Commit graph

2797 commits

Author SHA1 Message Date
Sebastian Dröge b78269285b ci: Don't run cargo update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1353>
2023-10-09 12:07:05 +03:00
Sebastian Dröge e5ccfdbd55 Update plugins versions in Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1353>
2023-10-09 12:06:23 +03:00
Sebastian Dröge a2e0853583 Update CHANGELOG.md for 0.11.1 2023-10-04 23:55:55 +03:00
Sebastian Dröge 2b8728103f Update versions to 0.11.1 2023-10-04 23:35:35 +03:00
Sebastian Dröge b9e8f4cbb3 ndi: Comment out empty Opus handling and add FIXME comment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:30:49 +03:00
Sebastian Dröge dce1e3b044 Update plugin documentation cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:30:23 +03:00
Sebastian Dröge 4eeff19075 Fix indentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:19:23 +03:00
Sebastian Dröge 2afa8862a0 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:16:57 +03:00
Sebastian Dröge b360b5247e Update gst-plugin-version-helper version requirement to 0.8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:15:53 +03:00
Sebastian Dröge 9bf24a715b deny: Simplify license handling
Deny all copyleft licenses except for the MPL-2.0 and add an exception
for gst-plugin-threadshare to allow LGPL-2.1.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:24 +03:00
Sebastian Dröge 471901e4ca deny: Remove unnecessary toml_edit exception
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:19 +03:00
Sebastian Dröge 5c59ba51d5 ci: Run cargo-deny on the whole workspace with all features enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:13 +03:00
Stéphane Cerveau 1e22caf6c3 fmp4mux: specify the fragment duration unit
The fragment duration is expressed in nanoseconds.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:08 +03:00
Sebastian Dröge 29697dae45 Fix various new 1.73 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:10:02 +03:00
Sebastian Dröge b89adc88f8 threadshare: Fix docs typos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:57 +03:00
François Laignel 206c3964c8 generic: threadshare: macOS fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:43 +03:00
Sebastian Dröge 2ea53dd3a4 deny: Update with some new overrides
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:35 +03:00
François Laignel ffb7ea1885 generic: threadshare: port to polling 3.1.0
Also use `rustix` & `std::ffi` instead of `libc`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:09:11 +03:00
Andoni Morales Alastruey fcd16bc070 threadshare: fix warning for unused variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:08:37 +03:00
Piotr Brzeziński e792fdbe48 webrtc: Fix paths in README
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:07:14 +03:00
Sebastian Dröge cd8ab38c09 version-helper: Update version to 0.8.0 and MSRV to 1.66
Previous release was 0.7.5 and 1.63, but toml_edit unfortunately
requires Rust 1.66 at least.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:56 +03:00
Sebastian Dröge d384999b0c version-helper: Also try parsing release date from Cargo.toml
The `package.metadata.gstreamer.release_date` date string can be used to
specify the release date.

This is used if there's no git repository as a fallback before using the
mtime of the Cargo.toml. Using the mtime will fail when building a crate
packaged by cargo because cargo sets the mtimes to bogus values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/440

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:25 +03:00
Sean DuBois 4a1a7864cf net: webrtc/webrtchttp: Respect HTTP redirects
Properly follow redirect URL. Before new request would be made, but with
original URL again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:06:03 +03:00
Sebastian Dröge 389ab2e46c deny: Remove obsolete entries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:04:27 +03:00
Sebastian Dröge a168456428 Update to AWS SDK 0.31
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1350>
2023-10-04 19:04:21 +03:00
Sebastian Dröge f0f06c4569 Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-25 22:53:30 +03:00
Sebastian Dröge 427f1ec912 ci: Use the 0.21 branch of the gstreamer-rs images template
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-25 22:53:30 +03:00
Sebastian Dröge a5bcc9099b gtk4: Only support RGBA/RGB in the GL code path
For all other component orderings a shader is necessary to re-order the
components for what GTK expects.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:54 +03:00
Ivan Molodetskikh 432782d09a gtk4: Premultiply alpha in GL textures
GTK expects GL textures to have premultiplied alpha. The ones we get
from GStreamer don't, leading to incorrect rendering of semitransparent
frames.

GTK 4.12 gained an API to set a different GL texture format, but it
won't help for older GTK versions. Plus, at the time of writing, it
causes a very slow download/upload path in GTK.

So, use a GTK GL shader node to premultiply the alpha without leaving
the GPU.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:49 +03:00
Sebastian Dröge 9187d0e11e onvifmetadataparse: Skip metadata frames with unrepresentable UTC time
Previously we would panic, which causes the element to post an error
message. Instead, simply skip metadata frames if their UTC time since
the UNIX epoch can't be represented as nanoseconds in u64.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:43 +03:00
Seungha Yang 468f73092d webrtcsink: Propagate GstContext messages
Implement CustomBusStream so that NEED_CONTEXT and HAVE_CONTEXT
messages from session/discovery can be forwarded to parent
pipeline and also GstContext can be shared.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:13 +03:00
Seungha Yang 2b1d07a757 webrtcsink: Add support for d3d11 memory and qsvh264enc
Adding d3d11 memory and qsvh264enc support

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:58:06 +03:00
Mathieu Duponchelle 33156b52c8 webrtcsink: fix codec selection discoveries
Since ab1ec126983f949804684e11e0e58c7cf3b22bc4:

webrtcsink: Add support for pre encoded streams

Discovery pipelines for remote offers were no longer fed any buffers.

While some encoders could already produce caps with no input buffers,
others, such as x264enc, simply hung forever. This resulted in no answer
getting produced if for instance video-caps were constrained to H264.

Fix this by tracking discovery pipelines at the State rather than the
InputStream level, removing the useless distinction of Initial vs.
CodecSelection discoveries, and always feeding all the current
discovery pipelines with incoming buffers.

For reference, the issue here was that codec selection discoveries were
assigned to local clones of InputStreams, not tracked anywhere, and thus
not iterated for discoveries when queuing incoming buffers from the
chain function, as it only looked at the original instance of
InputStream's in state.streams.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:57 +03:00
Robert Ayrapetyan 391ba3f5f8 webrtcsink: fix TWCC extension adding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:40 +03:00
Sebastian Dröge d607d0ac93 fmp4mux: Update to dash-mpd 0.14
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:34 +03:00
Jakub Adam dcfa4e6352 tutorial/2: update the text to match the latest source code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:27 +03:00
Jakub Adam 5e55623c6e tutorial/1: fix TOC
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:15 +03:00
Sebastian Dröge dc1e45eaa1 Update to AWS SDK 0.30
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:57:00 +03:00
robert 3eb9e0c88d meson: Fix handling of optional deps
We were requiring the presence of all optional dependencies, such as
gstreamer-check-1.0 and gstreamer-gl-1.0, on the system, regardless of
whether the user actually requires these functionalities.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:52 +03:00
L. E. Segovia f8b07ddcc1 meson: Tell cargo to prefer static libraries
This fixes most, but not all, of the build errors in Windows when using
static libraries.

The ones remaining are:

- redirection of gstreamer-1.0 towards gstreamer-full-1.0
- Cairo not exporting the C++ stdlib requirement when built statically

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:47 +03:00
Jakub Adam 0645b138b9 tutorial/1: update the text to match the latest source code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:42 +03:00
L. E. Segovia 6c5c4205a4 meson: Disable plugins and related outputs if features are disabled
Previously, there was no check performed on features of plugins if these
specify GStreamer plugins. This commit adds that, and ensures that the
plugins and pkg-config targets are skipped if no outputs are to be
generated (this is already done for examples).

Closes #369

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:35 +03:00
L. E. Segovia 2c34193590 meson: Disable plugins and related outputs if features are disabled
Previously, there was no check performed on features of plugins if these
specify GStreamer plugins. This commit adds that, and ensures that the
plugins and pkg-config targets are skipped if no outputs are to be
generated (this is already done for examples).

Closes #369

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:30 +03:00
L. E. Segovia 746ce65e8f meson: Allow usage of externally overridden pkg-config
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:25 +03:00
Sebastian Dröge 131a933b00 threadshare: Update to flume 0.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:19 +03:00
Guillaume Desmottes dd117366c5 fallbackswitch: protect src pad stream lock using Cond
Should prevent stream and State deadlocks, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/202

Fix #202
Hopefully fix #192 as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:14 +03:00
Guillaume Desmottes a11388453a fallbackswitch: prevent deadlocks in chain function
Calling schedule_timeout() may result in handle_timeout() being called right away,
which will need pad state locks which was still hold in chain().

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:09 +03:00
Guillaume Desmottes acc9fcd8c8 fallbackswitch: ensure strict ordering when taking mutexes
Should prevent deadlocks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1331>
2023-09-20 19:56:03 +03:00
Sebastian Dröge de0363efad meson: Check for correct minimum cargo-c version
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/404
2023-08-14 11:08:19 +03:00
Sebastian Dröge 16d58caf2e Add Cargo.lock
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/402
2023-08-11 08:14:37 +03:00