Commit graph

3436 commits

Author SHA1 Message Date
Guillaume Desmottes
27403129a5 fmp4: use the right DEFAULT constant
Does not really matter as both have the same value but best to have it
right.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1805>
2024-09-24 11:39:50 +00:00
Guillaume Desmottes
8e0a57237e fmp4: examples: hls_live: don't set header-update-mode=update
No need to update the header in live mode.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1804>
2024-09-24 11:34:22 +02:00
Jordan Petridis
b93dbbb0e7 ci: Set build jobs according to FDO_CI_CONCURRENT when available
The CI runners run multiple jobs concurrently, and as such we should
only be building with the number of jobs allocated to us when the
variable is set.

Related to https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1545

Also move the rest of the common flags we pass to cargo together so it's
a bit easier to read.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1797>
2024-09-20 23:59:52 +00:00
Mathieu Duponchelle
9331824479 webrtcsrc: expose MSID property on source pad
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1796>
2024-09-21 00:27:57 +02:00
Sebastian Dröge
acd0a54b4a cea708mux: Fix off-by-one in deciding whether a buffer belongs to this or the next frame
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Sebastian Dröge
585b6b53d4 cea708mux: Stop with EOS if all pads are EOS instead of continuing forever
Also don't drop buffers if multiple tries are needed for aggregating
because some pads are not ready yet.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Sebastian Dröge
a3c4ad7015 cea708mux: Don't create a separate source pad and actually push gap events downstream
The aggregator base class is already creating the source pad and the
source pad that was created here internally was never added to the
element at all. As such all gap events pushed on it never went anywhere.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790>
2024-09-20 06:33:25 +00:00
Jan Schmidt
41cc7ee30b onvifmetadatapay: Set output caps earlier
As soon as input caps arrive, we can set output
caps. This means upstream can send gap events earlier,
before there is any actual metadata to send

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1788>
2024-09-19 14:25:37 +02:00
Sebastian Dröge
b532fdbca0 closedcaption: cea608utils: Avoid overflow when deciding which lines to retain
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1778>
2024-09-19 10:05:14 +02:00
Jerome Colle
18771be680 dav1ddec: add properties for film grain synthesis and in-loop filters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1771>
2024-09-09 18:29:31 +01:00
Sebastian Dröge
034742e4af 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/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
1a7cf29b04 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/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
0758470e68 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/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
34f85f8d9f 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/1770>
2024-09-09 15:49:08 +01:00
Sebastian Dröge
59324a3da5 mpegtslivesrc: Set DISCONT flag on buffers at PCR discontinuities
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1770>
2024-09-09 15:49:08 +01:00
Arun Raghavan
b1ea6d2e65 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/1765>
2024-09-04 13:48:06 +01:00
Seungha Yang
2ca2a8e0f6 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/1759>
2024-08-30 15:10:31 +00:00
Sebastian Dröge
e6433c5872 meson: Update version to 0.13.1 too 2024-08-30 18:08:40 +03:00
Sebastian Dröge
0bc57b8a0a deny: Update 2024-08-27 21:50:50 +03:00
Sebastian Dröge
79df48c90d deny: Update to new configuration format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1691>
2024-08-27 21:50:47 +03:00
Sebastian Dröge
553f36cfdb hlssink3: Update to sprintf 0.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757>
2024-08-27 21:48:52 +03:00
Sebastian Dröge
9f7984d7ed fmp4: Update to dash-mpd 0.17
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1757>
2024-08-27 21:48:32 +03:00
Sebastian Dröge
6fb68aa1fa Update Cargo.lock 2024-08-27 21:48:16 +03:00
Sebastian Dröge
87cdc125ad Update versions to 0.13.1 2024-08-27 21:33:11 +03:00
Sebastian Dröge
6dcc818305 Update CHANGELOG.md for 0.13.1 2024-08-27 21:32:52 +03:00
Sanchayan Maity
988c58de43 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/1756>
2024-08-27 09:51:05 +01:00
Sanchayan Maity
11e5262adb 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/1750>
2024-08-26 12:38:09 +00:00
Mathieu Duponchelle
6eac72d78c 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/1752>
2024-08-26 11:52:10 +01:00
Mathieu Duponchelle
88a6b6d428 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/1747>
2024-08-23 10:30:18 +00:00
Mathieu Duponchelle
4559b6a9f9 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/1738>
2024-08-23 09:30:03 +00:00
Piotr Brzeziński
bd5154ebe4 cmafmux: Add opus support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1742>
2024-08-23 08:11:46 +00:00
Sebastian Dröge
85151a6e4f Fix various 1.80 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740>
2024-08-23 08:59:20 +03:00
Jordan Petridis
17938477ff ci: Use the windows specific image tags
Followup to c5dfc87953

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1740>
2024-08-22 15:26:35 +00:00
Sebastian Dröge
7d73038e3a livesync: Report latency query results when handling latency query too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1744>
2024-08-22 10:48:21 +00:00
Jerome Colle
1abe0fd5fe webrtcsink: add nvv4l2av1enc support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1743>
2024-08-22 09:59:22 +00:00
Jordan Petridis
f194d8483b 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/1741>
2024-08-22 09:13:45 +01:00
Jordan Petridis
33379c78f0 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/1741>
2024-08-22 09:13:45 +01:00
Jordan Petridis
a240b0feed 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/1741>
2024-08-22 09:13:45 +01:00
Jordan Petridis
80126b1c63 ci: Remove leftover scripts
Both of these have been moved in the main image for a while now

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1734>
2024-08-21 11:41:15 +01:00
Sebastian Dröge
b99aab06f8 ndisrc: Move timestamp handling from demuxer to source
This allows putting correct timestamps on buffers coming out of the
source already instead of leaving them unset until the demuxer.

And also calculate timestamps for metadata buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1726>
2024-08-17 01:17:47 +01:00
Tim-Philipp Müller
05cf05db23 ci: tag cerbero trigger job as placeholder job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1723>
2024-08-15 02:10:19 +00:00
Sebastian Dröge
71cd06e975 mpegtslivesrc: Handle PCR discontinuities as errors for now
More work is needed to make this work seemlessly and right now it would
simply cause invalid timestamps to be created.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1722>
2024-08-14 18:30:06 +01:00
Sebastian Dröge
2e2af95e2d hlssink3: Don't use is-live=true
This sometimes produces imperfect timestamps that cause the fragment
duration to be slightly different than expected.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1719>
2024-08-14 14:02:06 +01:00
Tim-Philipp Müller
6aedda36b1 ci: set cerbero trigger job timeout to 4h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1719>
2024-08-14 14:02:06 +01:00
Dave Lucia
a3d6308579 net/webrtc: Fix turn-servers nick: user -> use
Noticed this typo

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1713>
2024-08-14 09:34:59 +00:00
Sebastian Dröge
b673de4e07 webrtcsrc: Make sure to always call end_session() without the state lock
This was already done in another place for the same reason: preventing a
deadlock. It's probably not correct as hinted by the FIXME comment but
better than deadlocking at least.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1715>
2024-08-14 08:17:48 +00:00
Guillaume Desmottes
dad755ece3 gtk4: log paintable size in snapshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1712>
2024-08-13 21:45:16 +00:00
Mathieu Duponchelle
c87ddd43e4 webrtcsink: fix assertions when finalizing
Dumping the pipeline on state changes from an async bus handler was
triggering criticals.

Instead, dump from the sync handler.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1714>
2024-08-13 18:07:13 +01:00
Sebastian Dröge
19cb695ce0 rtp: mp4gpay: Don't set seqnum-base on the caps
This is supposed to be set by another layer, e.g. rtspsrc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705>
2024-08-10 11:46:04 +01:00
Sebastian Dröge
bc81e78873 rtp: basepay: Fix off-by-one with seqnum-offset
Setting a seqnum-offset of 1 would've caused the first packet to have a
seqnum of 2 instead of 1.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1705>
2024-08-10 11:46:04 +01:00