Commit graph

464 commits

Author SHA1 Message Date
Sebastian Dröge
befe818a3f gtk4: Use window.present() instead of window.show()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2252>
2025-05-22 17:44:29 +03:00
Sebastian Dröge
79a93999c0 tracers: Update to etherparse 0.18
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2220>
2025-04-29 08:27:32 +03:00
Sebastian Dröge
e1080a0caf tracers: Update to etherparse 0.17
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2213>
2025-04-23 13:07:35 +03:00
Philippe Normand
6f7a1e21d5 pcap_writer: Mark target-factory and pad-path props as construct-only
Otherwise the tracer's constructed() vfunc will emit a warning and will not
configure the tracer hooks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2209>
2025-04-20 10:24:13 +00:00
Sebastian Dröge
af33b050aa livesync: Only notify drop/duplicate properties
in/out can be observed more cheaply via pad probes and this mirrors the
behaviour of audiorate / videorate better, which also don't notify the
in/out properties.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2207>
2025-04-18 12:22:27 +03:00
Sebastian Dröge
594fbfd649 Fix various new clippy warnings because of the MSRV bump
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2203>
2025-04-14 13:35:43 +03:00
Sebastian Dröge
c37e0b2fa9 livesync: Notify in/out/drop/duplicate properties on change
And add a new silent property that defaults to false for disabling the
notifications, just like in audiorate and videorate.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2200>
2025-04-11 11:31:51 +00:00
Sebastian Dröge
d1aec1e0d2 Fix various new clippy 1.86 warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2174>
2025-04-05 11:18:56 +03:00
François Laignel
eb5c8276c0 tracers: reduce legend entry font size
The legend entries in the matplotlib tracer graphs are a bit too big, which
tends to clutter the resulting graph when there are many pads.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2149>
2025-03-26 21:35:43 +00:00
François Laignel
76a48baa32 tracers: buffer-lateness: don't panic on add overflow
Better not producing logs than panicking.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2149>
2025-03-26 21:35:43 +00:00
Guillaume Desmottes
a81dcbffd5 uriplaylistbin: skip cache test when offline
The test requires Internet to retrieve the media from fdo.

Fix #676

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2140>
2025-03-26 12:31:48 +00:00
Sebastian Dröge
24144739c4 Update gtk-rs / gstreamer-rs dependencies and update for API changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2141>
2025-03-25 18:49:47 +00:00
Sebastian Dröge
8b59d76b52 tracers: Update to pcap-file 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2117>
2025-03-04 09:58:39 +02:00
Thibault Saunier
50472dc22c pipeline-snapshot: Use user_cache_dir from the GLib
The 'dirs' crate doesn't behave the same leading to incompatibility

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1956>
2025-02-24 16:27:25 -03:00
Thibault Saunier
2a11f0b577 tracers: pipeline-snapshot: Add websocket support for dots-viewer
Allows connecting to a dots-viewer server instance to trigger pipeline
snapshots remotely through the web interface.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1956>
2025-02-24 16:27:25 -03:00
Thibault Saunier
bd6be75107 tracer: Add memory tracer
Requires updating gstreamer-rs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2092>
2025-02-21 15:40:59 +00:00
Sebastian Dröge
9d6272b8e0 Update to rand 0.9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2082>
2025-02-17 09:26:35 +02:00
Guillaume Desmottes
af818912c0 uriplaylistbin: tests: fix eos races
Wait for each stream to EOS rather than rely on the EOS message.
Prevent races as our test files are really short, see https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4204

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2063>
2025-02-12 09:21:02 +01:00
Guillaume Desmottes
d3686ce06e togglerecord: drop locks before sending queries
Sending a serialized query may potentially block so best to release
locks before doing so.

Hopefully fix a dead lock I analyzed from a post mortem report.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2060>
2025-02-07 14:55:22 +01:00
Yaakov Selkowitz
f7ba4c40a7 Add missing copies of license files
This should fix the crates that are missing license files.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2050>
2025-01-27 19:26:53 -05:00
Piotr Brzeziński
5b41d11f0c fallbacksrc: Add multi-stream support with the stream API
Brings support for multiple streams of each kind to fallbacksrc.

Usage past 1video/1audio stream now requires using the stream selection
API.
fallbacksrc will expose its own collection of streams, which will be
mapped to streams from the main and fallback source automatically.
This mapping can be changed via the map-streams signal.
The amount of streams being exposed by fallbacksrc is dictated by the
main source.

CustomSource has been updated to also support multi-stream scenarios,
both for stream-aware elements and for simple bins without such
functionality.

Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1832>
2025-01-14 13:04:25 +00:00
Sebastian Dröge
9056c733c5 tracers: Update to dirs 6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040>
2025-01-14 10:04:27 +02:00
Thibault Saunier
aafebc6a97 pcap_writer: Move to using USE_STRUCTURE_PARAMS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2031>
2025-01-10 08:17:30 -03:00
Sebastian Dröge
7b4665c793 Fix some new clippy 1.84 warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2032>
2025-01-10 10:08:38 +02:00
Guillaume Desmottes
1b761f27ef uriplaylistbin: add caching
Add optional caching feature preventing to re-download playlist items
for each iteration.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2028>
2025-01-07 20:29:38 +00:00
Guillaume Desmottes
80b9d7081a togglerecord: release rec_state before pushing buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1961>
2024-12-02 10:36:23 +01:00
Sebastian Dröge
6ee745edee Update for GLib signal accumulator API changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1954>
2024-11-30 15:10:06 +02:00
Guillaume Desmottes
95fc407de3 togglerecord: move the next pad id to its own variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Guillaume Desmottes
3f5396af58 togglerecord: stop copying settings
It's racy as the settings values can be changed between the copy and
reading them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Guillaume Desmottes
5f007ed7ee togglerecord: define total order on mutexes
I'm tracking a bug which may or may not be related to a deadlock in
togglerecord.

I audited the code and figured we could define a total order on the
mutexes with just a few changes.
I don't know yet if that will help with my bug but it can't hurt to have
a order properly documented with so many mutexes involved.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Guillaume Desmottes
20fb4f82d8 togglerecord: move pads and other_streams to State
Allow us to remove two mutexes, making dead locks easier to debug.

Also now use the State lock with `main_stream_cond` as we want to use
the higher order mutex in order to prevent dead locks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Guillaume Desmottes
fb54cfa425 togglerecord: implement Debug on Stream and StreamState
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Guillaume Desmottes
7a336cf8ad togglerecord: document mutexes hold when calling ToggleRecord methods
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1935>
2024-11-29 11:56:37 +00:00
Sebastian Dröge
347bee16d4 Update for GLib signal API changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1936>
2024-11-22 15:52:41 +02:00
François Laignel
a8146f333f all: use builder conditional setters where applicable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1926>
2024-11-21 12:57:16 +00:00
Thibault Saunier
1dcf0943db tracers: buffers-lateness: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1912>
2024-11-12 13:04:43 -03:00
Thibault Saunier
153d4c7ac5 tracers: queue-levels: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1912>
2024-11-12 13:04:43 -03:00
Sebastian Dröge
ef39046e18 Update to thiserror 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1911>
2024-11-06 11:02:41 +02:00
Thibault Saunier
93ade2526d tracer: snapshot: Add some documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
f752516e31 tracer: snapshot: Add an explicit \xdg-cache\ parameter
Instead of that magically xdg-cache string

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
344326434c tracers: snapshot: Add an option to use folders for each snapshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
f6d550d571 tracers: snapshot: Add an option to add pipeline pts in file names
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
6551a4631c tracers: pipeline_snapshot: Add a "cleanup-mode" to remove dot files when wanted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
e531c7f625 tracers: pipeline_snapshot: Make it controllable inside apps
Exposing properties so that user can configure it when instantiating it

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Thibault Saunier
27b02445d0 tracers: pipeline_snapshot: Allow passing dot-dir as a parameter
Overriding the default GST_DEBUG_DUMP_DOT_DIR env var

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1889>
2024-11-01 07:09:58 +00:00
Sebastian Dröge
7e59c3f0fd Remove once_cell dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1868>
2024-10-21 17:53:18 +00:00
Sebastian Dröge
ec8759ae44 Fix various new clippy warnings due to MSRV bump
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864>
2024-10-20 19:53:15 +00:00
Sebastian Dröge
4603a60ebe togglerecord: Remove obsolete comment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864>
2024-10-20 19:53:15 +00:00
Guillaume Desmottes
2fc8d6a27d togglerecord: provide details when RT assertion fails
We hit this assertion once during our tests but it's unclear why.
This change will hopefully help us understanding what's going on next
time.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1809>
2024-10-03 09:24:35 +00:00
Sebastian Dröge
b5586095bc tracers: Update to etherparse 0.16
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1808>
2024-09-25 09:05:56 +03:00