Sebastian Dröge
ba0904630d
rtpav1pay: Consider the marker flag to output packets immediately at the end of a frame
...
Otherwise it is necessary to wait for the beginning of the following
frame, which unnecessarily increases the latency.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/255
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:13:33 +02:00
Sebastian Dröge
af0e6281d2
rtpav1depay: Fix depayloading of packets starting with a leading OBU fragment followed by more OBUs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/288
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:13:26 +02:00
Sebastian Dröge
e79221f386
rtpav1depay: Fix error handling
...
Don't error out immediately on errors anymore but try again with the
next packet.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/289
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:13:19 +02:00
Sebastian Dröge
dc47b35536
rtpav1depay: Set DISCONT flag on buffers following a corrupted packet
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:13:13 +02:00
Sebastian Dröge
3520fc67de
rtpav1depay: Don't output full TUs but just OBUs as they come
...
Simplifies state tracking and potentially reduces latency as it's not
necessary to wait until all fragments of an OBU are received.
The last OBU of a TU is marked with the marker flag to allow parsers to
detect this without first seeing the beginning of the next TU.
Also use a simple `Vec` for collecting complete OBUs instead of a
`gst_base::Adapter` as this reduces the number of allocations.
And also handle invalid packets a little bit more gracefully.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/244
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:13:06 +02:00
Jan Alexander Steffens (heftig)
402d96b80c
livesync: Only resend segment if not in single-segment mode
...
In single-segment mode, the outgoing segment does not change when the
incoming segment changes. We only need to resend the segment if we got
flushed or deactivated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:07:06 +02:00
Sebastian Dröge
68bec4a0db
fmp4mux: Fix a couple of assertions by handling these cases cleaner
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:06:56 +02:00
Sebastian Dröge
adbb8b6495
fmp4mux: Refactor and clean up code
...
Split many longer functions into multiple functions and simplify various
parts. Overall this is functionally still the same as before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:06:56 +02:00
Sebastian Dröge
a01437b675
fmp4mux: Add support for sub-fragments / chunking
...
Allow outputting sub-fragments (chunks in CMAF terms) that are shorter
than the fragment duration and don't usually start on a keyframe. By
this the buffering requirements of the element is reduced to one chunk
duration, as is the latency.
This is used for formats like low-latency / LL-HLS and DASH.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:06:56 +02:00
Guillaume Desmottes
b9e203d6c1
fmp4mux: add 'offset-to-zero' property
...
Add it only to 'isofmp4mux', the onvif variant already does this and
CMAF and DASH are always single-stream so you rely on inter-container
synchronization via the running-time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:06:08 +02:00
Arun Raghavan
f3b8288ef9
aws: s3hlssink: Fix the name of the hlssink child element
...
It's easier to set child element properties if the name doesn't depend
on the factory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:05:58 +02:00
Sebastian Dröge
4eeb8ffb63
fmp4mux: Don't write the first sample flags into any trun but the first
...
The flags are based on the first sample of this fragment so writing it
into any trun but the first is not very useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:05:48 +02:00
Sebastian Dröge
01aa9380d4
fmp4mux: Fix decision whether per-sample flags are needed in the trun
...
Previously it would never use per-sample flags if any later sample
needed different flags than the first two.
Also comment the code a bit better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086 >
2023-02-09 21:05:40 +02:00
Sebastian Dröge
d9e9468f9a
meson: Update version to 0.9.8
2023-01-24 15:46:09 +02:00
Sebastian Dröge
59f575888e
Downgrade clap dependency to 4.0
...
4.1 does not build with Rust 1.63 anymore.
2023-01-23 11:33:20 +02:00
Sebastian Dröge
74a40060ce
Update Cargo.lock
2023-01-23 11:30:40 +02:00
Sebastian Dröge
5c2582d105
Update version to 0.9.8
2023-01-23 11:30:27 +02:00
Sebastian Dröge
4b9392938f
dav1d: Don't treat any kind of bitstream error immediately as fatal
...
Instead use the videodecoder error handling to allow up to max-errors
consecutive decoding errors, i.e. infinite by default in 1.22 and newer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1058 >
2023-01-23 11:08:49 +02:00
Sebastian Dröge
407a367529
dav1d: Get rid of some unnecessary unwrap()
s
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056 >
2023-01-22 00:59:54 +02:00
Sebastian Dröge
88a437ac32
dav1d: Remove unnecessary frame dropping loop
...
After flushing there are no frames left anymore that could be dropped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056 >
2023-01-22 00:59:52 +02:00
Sebastian Dröge
853acfc4fe
dav1d: Don't flush the decoder when draining
...
This directly discards all frames and it won't be possible to output
them anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056 >
2023-01-22 00:59:51 +02:00
Sebastian Dröge
3cd6074a8e
dav1d: Only drain at most one decoded frame per input frame unless the decoder requires more before accepting new data
...
This works around a race condition in dav1d where the decoder deadlocks
if multiple threads are used, and also is generally beneficial as it
allows for proper frame threading.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1056 >
2023-01-22 00:59:48 +02:00
Sebastian Dröge
ab5ee0511b
Update Cargo.lock
2023-01-19 19:06:52 +02:00
Sebastian Dröge
4ba452dcc3
Update versions to 0.9.7
2023-01-19 19:06:43 +02:00
Sebastian Dröge
711313c4c5
gtk4: Only provide a buffer pool to upstream if it requested one
2023-01-19 16:40:45 +02:00
Sebastian Dröge
c83f48f0a1
gtk4: Make no caps in the allocation query a non-error
2023-01-19 16:40:26 +02:00
Sebastian Dröge
101bcbc1a0
gtk4: Asynchronously flush frames from GDK
...
There is no need to wait until the frames are flushed as the textures
will be kept alive until GDK is finished with them, and doing so can
cause deadlocks.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/287
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1053 >
2023-01-19 15:40:04 +02:00
Sebastian Dröge
2a68be2000
gtk4: Keep GstGLMemory
alive as long as it is used inside GDK
...
Otherwise the texture might be released in the meantime and GDK would
use an invalid GL texture ID.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/287
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1053 >
2023-01-19 15:40:03 +02:00
Sebastian Dröge
3ea77d7a74
Update Cargo.lock
2023-01-18 17:19:28 +02:00
Sebastian Dröge
c818a575b4
Update versions to 0.9.6
2023-01-18 17:19:17 +02:00
Sebastian Dröge
43e5bd7b3a
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1050 >
2023-01-18 16:57:28 +02:00
Guillaume Desmottes
c6158b7a4e
livesync: fix late-threshold property min value
...
The code is handling 0 as "always over threshold" but it was not
possible to set the property to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1050 >
2023-01-18 16:56:34 +02:00
Philippe Normand
27f5b5cc33
meson: Only enable cargo features when options are enabled (bis)
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/285 even more.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1050 >
2023-01-18 16:56:24 +02:00
Sebastian Dröge
d02508a7d0
aws: Update to AWS SDK 0.53/0.23
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1050 >
2023-01-18 16:56:10 +02:00
Sebastian Dröge
df3b90881f
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1045 >
2023-01-11 18:38:47 +02:00
Mathieu Duponchelle
53ae335d22
webrtcsink: fix panic on pre-bwe request error
...
We dispose of consumer pipelines asynchronously, potentially after the
session objects have been disposed of.
As session objects are the owner of the cc element, it is entirely
possible for the bwe-request signal to get emitted after cc has been
disposed of, as the closure only takes a weak reference to it.
Fix by simply checking if cc is None
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1045 >
2023-01-11 18:38:13 +02:00
Sebastian Dröge
c8e8af3e81
deny: Ignore duplicated base64 dependency for now
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1045 >
2023-01-11 18:38:13 +02:00
Sebastian Dröge
8e0fc8b063
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1042 >
2023-01-10 20:20:56 +02:00
Nirbheek Chauhan
cc8da54adb
meson: Only enable cargo features when options are enabled
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/285
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1042 >
2023-01-10 20:20:24 +02:00
Sebastian Dröge
e213ba9618
deny: Remove duplicated windows dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1042 >
2023-01-10 20:20:24 +02:00
Sebastian Dröge
e8df0a0cb7
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1040 >
2023-01-10 10:31:23 +02:00
Sebastian Dröge
408d439631
rav1e: Enable threading support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1040 >
2023-01-10 10:30:34 +02:00
Sebastian Dröge
2f623e15c2
Update Cargo.lock
2023-01-07 16:06:29 +02:00
Sebastian Dröge
2a8a90f76f
Update versions to 0.9.5
2023-01-07 16:06:17 +02:00
Sebastian Dröge
cd3e333a0c
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:59:53 +02:00
Sebastian Dröge
1bfe6f9142
gtk4: Update dependencies to releases
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:59:26 +02:00
Sebastian Dröge
db9ef0b2af
gtk4: Propagate the GL display to the remainder of the pipeline
...
This allows sharing it with other parts of the pipeline and avoids
creating different, incompatible displays/contexts in different parts of
the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:25:49 +02:00
Sebastian Dröge
85a03f5ff0
fmp4mux: Remove obsolete comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:25:44 +02:00
Sebastian Dröge
4b936950c2
aws: Update to test-with 0.9
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:25:37 +02:00
rajneeshksoni
698ab100b3
awss3hlssink: Add stats property.
...
application can monitor the progress of hls segment generation
and upload progress.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1038 >
2023-01-07 13:25:31 +02:00