Sebastian Dröge
24003a79f6
mpegtslivesrc: Make sure to use the object as context for all debug logs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c32cb20906
mpegtslivesrc: Check if old compared to new PCR clock estimation is too far off
...
It the difference between the two estimations is more than 1s then
consider this a discontinuity too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c5b1ebc7d8
mpegtslivesrc: Fix order of parameters passed to add_observation()
...
The first one should be the internal time, i.e. the monotonic clock time
in our case, and the second one the external time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
44f64fb3f6
mpegtslivesrc: Scale monotonic time on PCR disconts to allow for continuous clock times
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
453b3014e6
mpegtslivesrc: Set DISCONT flag on buffers at PCR discontinuities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00: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
a709eb96d9
Fix new Rust 1.81 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1768 >
2024-09-05 22:01:01 +03:00
Sebastian Dröge
295b9f01c2
ndisrc: Use correct receive time to re-initialize time tracking on disconts
...
The base receive time should not be the monotonic system clock time, but
the monotonic system clock time adjusted by the current clock calibration.
For the first time this is equivalent as the clock calibration is the default,
but for further discontinuities it is not and would cause a
discontinuity in the clock times at this point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1766 >
2024-09-05 10:18:48 +00:00
Mathieu Duponchelle
bfc32cc692
net/aws: fix spurious dispatch failures
...
Since https://github.com/awslabs/aws-sdk-rust/discussions/956 , the AWS
SDK errors out HTTP streams that do not transfer data for more than 5
seconds.
This probably should be an opt-in bhevior as it clearly not generically
useful, but as it is we need to opt out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1760 >
2024-09-05 07:43:23 +00:00
Mathieu Duponchelle
65508cfe75
net/aws: don't discard errors from transcribe loop
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1760 >
2024-09-05 07:43:23 +00:00
Arun Raghavan
e72db57179
webrtc: Fix whipclientsink name in README
...
The element name was changed, but the documentation wasn't updated to
match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1764 >
2024-09-03 16:44:19 -04:00
Sebastian Dröge
871756bb70
ndisrc: Reset timestamp tracking if remote time goes backwards
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 20:53:13 +03:00
Sebastian Dröge
ee4416ee5f
ndisrc: Add a clocked timestamp mode that provides a clock that follows the remote timecodes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 20:53:13 +03:00
Sebastian Dröge
ab3db748be
ndisrc: Get rid of unnecessary AtomicRefCell dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Sebastian Dröge
0c4ec370cf
ndisrc: Remove slope workaround in timestamping code
...
This was needed for an old version of the NDI HX Camera iOS application
and is fixed since quite a while. Let's get rid of unnecessarily
complicated code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Sebastian Dröge
57821cade4
ndisrc: Only calculate timecode/timestamp mappings if necessary
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Sebastian Dröge
04da3b2047
ndisrc: receiver: Improve debug message when receiving frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Sebastian Dröge
84fef267b5
ndisrc: receiver: Remove some code duplication
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Sebastian Dröge
f2658eb773
ndisrc: Move from start/stop to change_state for slight code simplification
...
All state change related code is in a single place now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1727 >
2024-08-29 16:32:51 +00:00
Seungha Yang
0135c4251c
transcriberbin: Fix passthrough state change
...
Sync state of child bin appropriately when passthrough is disabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1758 >
2024-08-28 05:51:26 +00:00
Sebastian Dröge
c57b6c9c0a
Update CHANGELOG.md for 0.13.1
2024-08-27 22:00:48 +03:00
Sebastian Dröge
3c38ed7ff0
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757 >
2024-08-27 21:10:48 +03:00
Sebastian Dröge
fc29ff7d8b
hlssink3: Update to sprintf 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757 >
2024-08-27 21:06:52 +03:00
Sebastian Dröge
52895223a8
fmp4: Update to dash-mpd 0.17
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757 >
2024-08-27 21:02:43 +03:00
Sebastian Dröge
7e9a6d6893
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757 >
2024-08-27 20:58:48 +03:00
Mathieu Duponchelle
2f9bb62b6b
gstwebrtc-api: create control data channel when offering
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1755 >
2024-08-27 07:52:12 +02:00
Sanchayan Maity
f0d42b88cb
Add s3putobjectsink to README
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1550 >
2024-08-26 19:56:34 +00:00
Sanchayan Maity
f3206c2e1a
aws: Add next-file support to putobjectsink
...
Add `next-file` support to `awss3putobjectsink` on similar lines to
the `next-file` support in `multifilesink`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1550 >
2024-08-26 19:56:34 +00:00
Sanchayan Maity
d274caeb35
whepsrc: Fix incorrect default caps
...
add-transceiver needs application/x-rtp caps and not raw caps. We were
providing raw caps which is incorrect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1748 >
2024-08-26 19:44:37 +05:30
Mathieu Duponchelle
66727188cf
net/aws: fix sanity check in transcribe loop
...
When we receive a new alternative we want to avoid iterating out of
bounds, but the comparison between the current index and the length of
the alternative should not log an error when partial_index == length, as
Vec::drain(length..) is valid, and it is completely valid for AWS to
send us a new alternative with as many items as we have already
dequeued.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1751 >
2024-08-26 11:37:08 +02:00
Sebastian Dröge
7e912b0dde
video/gtk4: Clean up imports a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Sebastian Dröge
3fd3a32b6f
video/gtk4: Clean up GStreamer GL context initialization
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
4f01421cc4
video/gtk4: Make feature "v4_6" the default assumption
...
It's our minimum gtk4 version we target anyway so we
can remove some of the extra features in the toml and require
it by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
ff5032934d
video/gtk4: Remove some indentation in frame.rs
...
We have less cfg features now and don't need the extra
brackets to guard the codepaths.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
602760d0d8
video/gtk4: Remove cfg flag for gst-gl
...
GTK 4 hard depends on GL on all platforms, and now both
windows and macos have codepaths for the paintable sink to
produce GLTextures.
This we can now drop the cfg build flag we have making it optional.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Sanchayan Maity
320f36a462
hlssink3: Use fragment duration from splitmuxsink if available
...
splitmuxsink now reports fragment offset and duration in the
splitmuxsink-fragment-closed message. Use this duration value
for the MediaSegment when available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1728 >
2024-08-22 15:13:21 +00:00
Mathieu Duponchelle
4cf93ccbdb
net/webrtc: Add missing npm command to README
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1746 >
2024-08-22 15:46:28 +02: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
Jerome Colle
dee0e32dde
webrtcsink: add nvv4l2av1enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1735 >
2024-08-22 06:41:52 +00:00
Mathieu Duponchelle
8ad882bed5
gstwebrtc-api: address issues raised by mix matrix support
...
1c48d7065d
was mistakenly merged too
early, and there were concerns about the implementation and API design:
The fact that the frontend had to expose a text area specifically for
sending over a mix matrix, and had to manually edit in floats into the
stringified JSON was suboptimal.
Said text area was always present even when remote control was not
enabled.
The sendControlRequest API was made more complex than needed by
accepting an optional stringifier callback.
This patch addresses all those concerns:
The deserialization code in webrtcsink is now made more clever and
robust by first having it pick a numerical type to coerce to when
deserializing arrays with numbers, then making sure it doesn't allow
mixed types in arrays (or arrays of arrays as those too must share
the same inner value type).
The frontend side simply sends over strings wrapped with a request
message envelope to the backend.
The request text area is only shown when remote control is enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1725 >
2024-08-22 05:54:46 +00:00
Piotr Brzeziński
c4bcdea830
hlscmafsink: Add new-playlist signal
...
Allows you to switch output between folders without having to state change to READY to close the current playlist.
Closes the current playlist immediately and starts a new one at the currently set location.
Should be used after changing the relevant location properties.
Makes use of the send-headers signal in cmafmux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1692 >
2024-08-22 02:06:51 +00:00
Piotr Brzeziński
798936afc9
cmafmux: Add send-headers signal
...
Forces cmafmux to output headers for the init segment again, alongside the next chunk.
Needed for hlscmafsink to support changing output paths on the fly, without going back to READY.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1692 >
2024-08-22 02:06:51 +00:00
Piotr Brzeziński
ad0a23fee7
cmafmux: Add opus support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1692 >
2024-08-22 02:06:51 +00:00
Jordan Petridis
c43fc2d576
ci: Pin the windows jobs to gstreamer runners for now
...
There seem to be some seemingly random failures if the
jobs get scheduled on the other windows runners,
and they need to be debugged further.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1736 >
2024-08-22 01:17:18 +00:00
Jordan Petridis
b9fcb99cd4
ci: Update the .cargo/config file
...
```
warning: `/builds/alatiera/gst-plugins-rs/.cargo/config` is deprecated in favor of `config.toml`
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1736 >
2024-08-22 01:17:18 +00:00
Jordan Petridis
b4f22a52ff
ci: Add a default retry policy for jobs
...
Automatically retry if it's a system failure or similar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1736 >
2024-08-22 01:17:18 +00:00
Mathieu Duponchelle
5dc2d56c0e
webrtcsink: store mids per-session instead of globally
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1730 >
2024-08-21 21:20:40 +00:00
Mathieu Duponchelle
16ee51621e
webrtcsink: fix segment format mismatch with remote offer
...
webrtcsink was starting the negotiation process on Ready and concurrently
moving the consumer pipeline to Playing, but when answering the remote
description was set so fast that input streams were connected (and the time
format set on appsrc) before the state change to Paused had completed.
This meant gst_base_src_start was happening after that and setting the format
back to bytes, the time segment that was next coming in then caused:
basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<video_0> segment format mismatched, ignore
And the consumer pipeline errored out.
The same issue existed in theory when webrtcsink was creating the offer,
but was much harder to trigger as it required that the remote answer
came in before the state change to Paused had completed.
This commit fixes the issue by simply waiting for the state to have
changed to Paused before negotiating.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1730 >
2024-08-21 21:20:40 +00:00