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
Sebastian Dröge
8fd2b7daa4
uriplaylistbin: Properly check for stream-collection/streams-selected events
...
There is only a new stream-collection event if the media has actually
changed, and that's also the only time in these tests when a
streams-selected event is sent as the default stream selection is always
used and never changed.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/597
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1769 >
2024-09-09 14:37:48 +03:00
Sebastian Dröge
2e0f52de2c
uriplaylistbin: Track actual caller in test assertion functions
...
Makes it easier to figure out from where it is actually called when the
assertion is failing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1769 >
2024-09-09 14:35:40 +03:00
Sebastian Dröge
7a959b9e9d
uriplaylistbin: Properly clean up the pipeline on panics/assertions too
...
Reduces log noise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1769 >
2024-09-09 14:35:10 +03:00
Sebastian Dröge
87b72f768b
livesync: Report latency query results when handling latency query too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1739 >
2024-08-22 07:33:47 +00:00
Sebastian Dröge
b83b6031e5
Update etherparse and async-tungstenite dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691 >
2024-08-06 09:00:32 +03:00
Thibault Saunier
a05ab37b49
tracers: Add a tracer that dumps data flow into .pcap files
...
See documentation for more details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/879 >
2024-07-31 20:27:27 +00:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
bd2a039c8d
livesync: Use the actual output buffer duration of gap filler buffers
...
Otherwise the following can happen:
- 25fps stream
- buffer with PTS 0ms, duration 20ms arrives, is output
- buffer with PTS 40ms, duration 20ms arrives
- is considered early because 20ms < 40ms
- filler buffer with PTS 20ms and 40ms duration is output
- buffer with PTS 40ms is output
After this change no filler would be inserted because the gap is smaller
than the duration of a filler buffer.
Also, previously the 40ms duration would be used if a filler was
previously output because in that case the cached output buffer duration
would've already been patched from 20ms to 40ms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1647 >
2024-07-02 17:15:58 +03:00
Sebastian Dröge
960529d90d
livesync: Add sync property for allowing to output buffers as soon as they arrive
...
By default livesync will wait for each buffer on the clock. If sync is
set to false, it will output buffers immediately once they're available
and only waits on the clock for outputting gap filler buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1635 >
2024-06-26 16:21:42 +00:00
Sebastian Dröge
bbf131086a
livesync: Synchronize on the first buffer too
...
Previously the first buffer would be output immediately and
synchronization would only happen from the second buffer onwards.
This would mean that the first buffer would potentially be output too
early.
Instead, if there is no known output timestamp yet but a buffer with a
timestamp, first of all take its start as the initial output timestamp
and synchronize on that buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1635 >
2024-06-26 16:21:42 +00:00
Sebastian Dröge
7caf6b2073
livesync: Use let-else
in a few more places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1635 >
2024-06-26 16:21:41 +00:00
Sebastian Dröge
505fab2e1c
livesync: Allow queueing up to latency buffers
...
This was already reported by the latency query, and not doing this would
require to always put a queue before livesync.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1635 >
2024-06-26 16:21:41 +00:00
Sebastian Dröge
9b323a6519
Use Option::is_some_and(...)
instead of Option::map_or(false, ...)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1630 >
2024-06-19 13:03:37 +00:00
Sebastian Dröge
69c3c2ae46
Fix various new clippy 1.79 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1620 >
2024-06-14 08:33:49 +03:00
Sebastian Dröge
66030f36ad
tracers: Add a pad push durations tracer
...
This tracer measures the time it takes for a buffer/buffer list push to return.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1506 >
2024-04-17 16:20:43 +03:00
Guillaume Desmottes
596a9177ce
uriplaylistbin: disable racy test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1537 >
2024-04-12 10:17:40 +00:00
Guillaume Desmottes
61c9cbdc8f
uriplaylistbin: allow to change 'iterations' property while playing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1492 >
2024-04-11 11:13:20 +02:00
Guillaume Desmottes
00b56ca845
uriplaylistbin: stop using an iterator to manage the playlist
...
Will make it easier to update the playlist while playing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1492 >
2024-04-11 10:48:50 +02:00
Philippe Normand
be12c0a5f7
Fix clippy warnings after upgrade to Rust 1.77
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1512 >
2024-03-21 17:33:32 +00:00
Sebastian Dröge
6556d31ab8
livesync: Ignore another racy test
...
Same problem as https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/328
2024-03-21 09:27:09 +02:00
Guillaume Desmottes
b29a739fb2
uriplaylistbin: disable racy test
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/514
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:57:22 +01:00
Guillaume Desmottes
2629719b4e
livesync: disable racy tests
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/328
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/357
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:32:47 +01:00
Guillaume Desmottes
9e6e8c618e
togglerecord: disable racy test_two_stream_close_open_nonlivein_liveout test
...
See https://gitlab.freedesktop.org/gdesmott/gst-plugins-rs/-/jobs/56183085
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1494 >
2024-03-12 16:21:52 +01:00
Guillaume Desmottes
7d0397e1ad
uriplaylistbin: re-enable all tests
...
They now seem to work reliably. \o/
Fix #194
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 12:00:13 +01:00
Guillaume Desmottes
f6476f1e8f
uriplaylistbin: use vp9 in test media
...
The Windows CI runner does not have a Theora decoder so those tests were
failing there.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 12:00:13 +01:00
Guillaume Desmottes
cfebc32b82
uriplaylistbin: tests: use fakesink sync=true
...
Tests is more reliable when using sync sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471 >
2024-03-04 11:17:11 +01:00