Mark-André Schadow
ead9014e78
onvifmetadatacombiner: Metadata should not have a pts/dts
...
Incoming onvif-data should be stripped of pts/dts, as they are not updated when attached to a frame. Pts/Dta are readded by the associated extractor element
Linked to https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/655
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2086 >
2025-02-19 12:47:52 +00:00
Mark-André Schadow
514cf57c56
onvifmetadataextractor: fix missing pts/dts in metadata buffer
...
Segments coming from the onvifmetadataextractor-plugin's meta_src do not inherit pts/dts from the input.
This leads to strange bugs when trying to send the metadata using rtp.
Fix this by appending the pts/dts of the incoming buffers to the outgoing metadata buffers
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/655
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2086 >
2025-02-19 12:47:52 +00:00
Tim-Philipp Müller
c0b801ce46
webrtcsink: chain up in signaller ::constructed funcs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2080 >
2025-02-19 08:12:54 +00:00
Tim-Philipp Müller
c6ce0bca57
spotifylyricsrc: chain up in ::constructed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2080 >
2025-02-19 08:12:54 +00:00
Sebastian Dröge
3c0da2518f
rtp: Add thread_rng
feature to rand
dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2090 >
2025-02-19 00:34:52 +00:00
Sebastian Dröge
acfee44f58
Update to async-tungstenite 0.29
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2088 >
2025-02-18 23:57:35 +00:00
Sebastian Dröge
9b0aa9c710
ci: Remove cmake before running the meson build
...
The meson cmake dependency resolver is broken.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2091 >
2025-02-18 14:38:24 +02:00
Matthew Waters
0a35219c90
closedcaption: add CDP service information inject element
...
Overwrites the service information descriptor with the value specified in the
services property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2043 >
2025-02-17 10:25:01 +00:00
Matthew Waters
5ada3da580
tests/rtpbin2: improve performance of receive_list_benchmark
...
Instead of receiving each output buffer through GstHarness individually,
process the received buffer lists directly by prociding our own pad and
chain/chain_list handlers. Reduces test time locally from 30+s to <2s.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2081 >
2025-02-17 09:21:15 +00:00
Sebastian Dröge
bb5e0c9917
closedcaption: Update to winnow 0.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2082 >
2025-02-17 09:26:35 +02: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
Sebastian Dröge
c1d6431113
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2082 >
2025-02-16 19:33:37 +02:00
Sebastian Dröge
902779ca4e
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2082 >
2025-02-16 19:25:46 +02:00
Brad Hards
12b0c814d7
mux/mp4: add round trip testing infrastructure
...
This makes use of the recently added qtdemux changes to verify
that muxing works. At this stage its only used for unpadded RGB,
RGBA, BGRA, BGR and GRAY8 since that is all qtdemux supports
at this time. However the approach is general.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2066 >
2025-02-15 12:19:11 +11:00
Sebastian Dröge
812d4fdc9d
webrtcsink: Close data channel and disconnect signal handler when dropping them
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2078 >
2025-02-14 15:30:31 +00:00
Sebastian Dröge
63b6fe5edc
webrtcsink: Store navigation events / control request handlers per session
...
Otherwise only the one from the last established session will be stored
and e.g. metas are only sent to that one session.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2078 >
2025-02-14 15:30:31 +00:00
François Laignel
50b0ad95e4
webrtc: precise-sync-recv: add media details log
...
This commit adds the ability to log details about the media being received by
the webrtc-precise-recv example. Among others, the log shows whether RFC7273 is
active. This uses the 'rfc7273-active' property from rtpjitterbuffer which was
introduced in GStreamer1.26.
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7829
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1908 >
2025-02-14 12:40:06 +00:00
Albert Sjolund
cdd2b87953
streamproducer: don't 'leak' hashmap objects
...
Release is called at the end and replaced with a pending object.
However, this object does not get released from the map and lives on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2058 >
2025-02-14 08:43:45 +00:00
Sebastian Dröge
5256f1e00c
cea608tocea708: Fix SMPTE 334-1a field flag usage
...
If the flag is set then this is field 0, otherwise it is field 1. The
code had this inverted. See also cece286fe8
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2074 >
2025-02-14 00:00:36 +00:00
Thibault Saunier
03b7e8ccdd
meson: Add options to enable webrtc-livekit/aws
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1806 >
2025-02-13 17:22:14 +00:00
Mathieu Duponchelle
2ac9e584d8
webrtc: disable "heavy" dependencies by default (aws, livekit)
...
This cuts down rebuild times by a third
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1806 >
2025-02-13 17:22:14 +00:00
Mathieu Duponchelle
de5033c3e1
transcriberbin: fix panic on successive passthrough en/dis-abling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2071 >
2025-02-12 15:38:21 +01: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
Mathieu Duponchelle
efe3a55521
cea608overlay: clear output on field switch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2069 >
2025-02-11 21:39:18 +00:00
Mathieu Duponchelle
cece286fe8
ceax08overlay: fix field lookup for s334-1a
...
As stated in the spec:
> Bit b7 of the LINE value is the field number (0 for field 2;
> 1 for field 1). Bits b6 and b5 are 0. Bits b4-b0 form a 5-bit unsigned
> integer which represents the offset [..]
Here, b7 is the most significant bit, this is what both cccombiner
and ccconverter agree on.
The overlay elements previously looked at the least significant bit,
which led to garbled text when both fields were actually present
in the CC meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2069 >
2025-02-11 21:39:18 +00:00
Mathieu Duponchelle
f08b99dcd3
aws/transcriber*: log all debug details from AWS errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
71121a2380
aws: reimplement two separate wrappers for translate and transcribe
...
The original awstranscribe element has grown too complex when
integrating translations for reasons that in retrospect were wrong:
As awstranscribe outputs words one by one, I decided we wanted to
perform translations there with larger sentences if available, but an
alternative design where a separate translation element is composed
downstream is also possible, as long as that element accumulates words
and enough latency is set on the transcriber.
An important difference is that the new elements do not expose unsynced
pads, this use case is instead now served by simple messages on the bus.
The elements should otherwise be at feature parity with the original
element.
A higher-level bin is also provided for convenience (and usage within
transcriberbin): translationbin.
A transcriber element can be provided to this bin, which exposes an
always audio sink pad, and an always text sink pad (for the
transcripts).
Additional source pads can be requested for translations, for now the
bin always uses `awstranslate` as the translator, but this can be made
configurable.
This element is usable as a transcriber in `transcriberbin`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
7d26990d4a
tttocea608: insert carriage returns on speaker changes
...
This improves readability with speaker-detection capable elements
upstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
2d0effd781
speechmaticstranscriber: add properties for speaker detection
...
diarization=speaker can be set to enable speaker detection, and
max-speakers can be set to control the maximum number of detected
speakers.
An event is then forwarded downstream upon speaker changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
9da6dff1a9
speechmaticstranscriber: post messages with raw results
...
This deprecates the buffers pushed on the unsynced pads, which should
be removed prior to release.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
484275b350
speechmaticstranscriber: output items as early as possible
...
There is no reason to delay the output of items until the deadline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00:00
Mathieu Duponchelle
0ed3f833ac
speechmaticstranscriber: add new max-delay property
...
This allows controlling the requested delay independently from the
latency of the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2055 >
2025-02-10 11:16:44 +00: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
Carlos Bentzen
7e2a4cf61c
cdg: fix typefind error with specific file sizes
...
Currently, the typefind logic for cdg can cause errors on files
with all conditions below:
- size multiple of NB_WINDOWS * CDG_PACKET_SIZE (8 * 24) = 192
- size less than TYPEFIND_SEARCH_WINDOW (28800)
- extension different than .cdg
With those conditions, the cdg typefind function may be the last one to
execute and cause gsttypefindhelper.c::helper_find_peek to return
GST_FLOW_EOS, and if it's the final call will then be turned to
GST_FLOW_ERROR in typefind.
That is because cdg's typefind will perform a last call to
typefind.peek(len, CDG_PACKET_SIZE) which is outside the range of typefind
(from 0 to len - 1).
Reproducer with file from cdg tests:
```
head -n 28608 BrotherJohn.cdg > BrotherJohn_short.bit
gst-play-1.0 BrotherJohn_short.bit
```
Fix this by correcting the loop bounds in the cdg typefind
logic. Perhaps the typefind helper logic should be rewritten to avoid
such cases too.
Then the example above works and unrelated files aren't affected by this
in typefind anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2056 >
2025-02-03 06:32:43 +00:00
Sanchayan Maity
ef4fd6059d
net/hlsmultivariantsink: Add test for MPEG-TS with H265
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-31 15:24:16 +05:30
Sanchayan Maity
6911e865c9
net/hlsmultivariantsink: Drop cros-codecs as a dependency
...
This copies over the required bits of code from cros-codecs
and drops the dependency on cros-codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-31 15:24:16 +05:30
Sanchayan Maity
e3049e272c
net/hlsmultivariantsink: Update cros_codecs to v0.0.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2054 >
2025-01-30 18:43:48 +05:30
Matthew Waters
5c7ab9b491
closedcaption: fix roll up mode not always using the correct base row
...
The row used in roll up mode was inconsistently referenced (row vs base_row)
and could result in incorrect output being produced.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2051 >
2025-01-28 22:22:49 +00:00
Matthew Waters
12811f9bc3
closedcaption/608overlay: add some debug loggin when resets occur
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2051 >
2025-01-28 22:22:49 +00:00
Matthew Waters
4f4f84a615
cea608overlay: ensure tha the list of lines remains sorted by line number
...
Otherwise, when iterating over the lines, they may be written out of order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2051 >
2025-01-28 22:22:49 +00:00
Sanchayan Maity
5639a0640e
net/hlsmultivariantsink: Add since marker to fix doc build failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
05b5aa939f
hlsmultivariantsink: Add hlssink3 and cmafmux as dev dependencies
...
This is required for the hlsmultivariantsink tests to work. Also
register the plugins before running the test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
362898cd54
hlsmultivariantsink: Enable MPEG-TS codec string support only for Linux
...
For the MPEG-TS case, we depend on cros-codecs for parsing SPS to get
the relevant information for building codec strings. Do not compile it
for non-linux platforms. Users needing MPEG-TS on non-linux platform
need to set codec string manually as a workaround.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
104d9110b7
Fix CI failure for typos with hlsmultivariantsink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
Sanchayan Maity
4218e88fce
Add HLS sink with multi-variant playlist support
...
`hlsmultivariantsink` adds support for the following as per RFC 8216
- Multivariant/master playlist
- Alternate Renditions
- Variant Streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1515 >
2025-01-28 16:37:35 +05:30
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
Sebastian Dröge
aa06572e42
mpegtslivesrc: Handle zero-byte adaption fields
...
Simply skip over them instead of handling them as parse error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2047 >
2025-01-21 14:22:54 +02:00
Brad Hards
251819a57d
mux/mp4: support ISO/IEC 23001-17 uncompressed encoding
...
This adds support for direct encoding of common formats into ISO base media file
format.
There are unit tests for formats that are not completely supported, to
check that those functions work correctly, and to ease future extension.
End-to-end testing currently requires use of gpac to validate files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1990 >
2025-01-21 09:20:13 +00:00
Tim-Philipp Müller
74760e1b42
rtp: ac3: validate depayloaded AC-3 data in unit tests
...
Check for valid frame header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2044 >
2025-01-20 18:32:50 +00:00
Tim-Philipp Müller
f6d21810ff
rtp: tests: add run_test_pipeline variants with data validation
...
So we can actually check the content of depayloaded buffers too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2044 >
2025-01-20 18:32:50 +00:00