Raphael Dürscheid
aa2abc50bf
webrtcsink: Support nvv4l2vp9enc
...
Naive support for nvv4l2vp9enc by assuming configuration is equivalent
to existing nvv4l2vp8enc. Validated to have relevant properties.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/983 >
2022-12-02 10:18:27 +00:00
Sebastian Dröge
4604a6368c
deny: Remove another dependency that is not duplicated anymore
2022-12-02 11:09:43 +02:00
Seungha Yang
1c145e2ba9
dav1ddec: Lower rank to primary
...
The rank of AOM av1dec was demoted as secondary, and thus
primary rank is sufficient.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/996 >
2022-12-01 17:03:31 +00:00
Sebastian Dröge
f9e5a68156
deny: Remove dependencies that are not duplicated anymore
2022-12-01 17:35:09 +02:00
Sebastian Dröge
25b0b15989
rav1e: Update to rav1e 0.6
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/997 >
2022-12-01 15:59:44 +02:00
Sebastian Dröge
8c457cfa04
gtk4: example: Use a bin with a videoconvert
in the non-GL case
...
The sink only supports RGB formats in that case, which decoders rarely
would output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/995 >
2022-11-30 11:59:53 +02:00
Sebastian Dröge
599d3a4d8a
gtk4: Make GL support fully optional
...
Don't depend on gstreamer-gl if it's not enabled, and don't try doing
anything with the GDK GL context at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/995 >
2022-11-30 11:59:53 +02:00
Jordan Petridis
975f0141be
video/gtk4: Implement support for GLTextures when possible.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:18:46 +02:00
Jordan Petridis
51c34267a9
video/gtk4: Restrict visibility of struct related to the Frame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:06:12 +02:00
Jordan Petridis
ea6c59e5e9
video/gtk4: Rename Object types and struct to something simpler
...
Avoid the confusion caused by SinkPaintable and PaintableSink,
and instead refer to the objects as Paintable for the GdkPaintable
subclass or PaintalbeSink for the gst element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:06:12 +02:00
Jordan Petridis
a84eeeb240
mux/{mp4, fmp4}: Hard depend on feature v1_18
...
Else --no-default-features was failing to compile.
v1_18 is needed to for the aggregator code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:06:12 +02:00
Jordan Petridis
821c23e202
net/ndi: fix build with --no-default-features
...
doc_show_default() is only available with gst/v1_18
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/588 >
2022-11-29 21:06:12 +02:00
Jordan Petridis
b75483e597
meson: Fix build of static plugins
...
While we were correctly skipping the plugins that couldn't be
built statically, we were still adding their names to the list
and the .pc list causing them to still get built.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/994 >
2022-11-29 20:04:25 +02:00
Jordan Petridis
12c058bc49
meson: Fix build of static plugins
...
While we were correctly skipping the plugins that couldn't be
built statically, we were still adding their names to the list
and the .pc list causing them to still get built.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/994 >
2022-11-29 20:03:29 +02:00
Sebastian Dröge
76eeaffbb2
textwrap: Don't panic on empty buffers
...
Simply don't calculate with any duration per word for this buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/990 >
2022-11-29 12:18:25 +00:00
Vivia Nikolaidou
5bbe0eab25
ndisrc: Use actual number of channels in positions_from_mask
...
Otherwise it fails for mono and stereo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/991 >
2022-11-29 12:19:45 +02:00
Vivia Nikolaidou
73ce616bd9
ndisrc: Use default channel mask for audio output
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/988 >
2022-11-28 17:06:07 +02:00
Sebastian Dröge
72f616fa14
deny: Update
2022-11-28 10:58:03 +02:00
Sebastian Dröge
fceacf7081
Update for gst::Array / gst::List API improvements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/985 >
2022-11-27 01:12:46 +02:00
Sebastian Dröge
0e2a00cbc8
aws: Update to env_logger 0.10 for the tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/984 >
2022-11-25 11:08:19 +02:00
Sebastian Dröge
1fcbc346bc
fmp4mux: examples: Avoid unnecessary caps copies
2022-11-22 10:39:47 +02:00
Sebastian Dröge
45fa946e8b
tracer: buffer-lateness: Fix compilation after minor API change
2022-11-22 10:39:32 +02:00
Sebastian Dröge
79972f8305
deny: Update
2022-11-20 11:52:32 +02:00
Sebastian Dröge
6b3bb2c747
fmp4mux: Handle EOS correctly if it happens before a fragment start time was determined
...
Whatever earliest time we have at that point is going to be the start
time.
Also handle the case correctly where all inputs are EOS before any
buffers were received at all.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/270
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/982 >
2022-11-19 19:24:43 +02:00
Sebastian Dröge
e3f645af19
fmp4mux: Don't overflow negative composition offset calculation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/982 >
2022-11-19 19:24:04 +02:00
Sebastian Dröge
ae4b49c668
mp4mux: For video with N/1001 framerates use N as timescale
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3049
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/981 >
2022-11-18 16:10:10 +02:00
Sebastian Dröge
fd910cb828
fmp4mux: For video with N/1001 framerates use N as timescale
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3049
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/981 >
2022-11-18 16:07:11 +02:00
Sebastian Dröge
c553ac7402
fmp4mux: Re-work buffer dequeueing and calculations of timestamps
...
Especially simplify calculation of ONVIF UTC times. As a side-effect
this reduces the number of times the running times of a buffer are
calculated, and also causes streams to be interleaved correctly in ONVIF
mode if there is a non-constant UTC-to-running-time difference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979 >
2022-11-18 15:00:00 +02:00
Sebastian Dröge
3003987c3a
mp4mux: Make use of i64::TryFrom<gst::Signed<u64>>
impl
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979 >
2022-11-18 12:26:18 +02:00
Sebastian Dröge
9903d536b5
mp4mux: Factor out running time to UTC time calculation into a function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979 >
2022-11-18 12:21:25 +02:00
Sebastian Dröge
aa7fd34097
mp4mux: Remove unnecessary error case of negative PTS when doing the ONVIF UTC time calculations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/979 >
2022-11-18 12:21:25 +02:00
Sebastian Dröge
02fc343642
gif: Update to gif 0.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/980 >
2022-11-18 09:03:21 +00:00
Sebastian Dröge
456fb276d6
Revert "Update for pango API changes"
...
This reverts commit 6e54d3cea9
.
The change was wrong and the pango bindings work the same as before
again.
2022-11-18 10:58:41 +02:00
Sebastian Dröge
6e54d3cea9
Update for pango API changes
...
pango::Language::from_string() can fail and also can accept None as
argument.
2022-11-18 09:46:50 +02:00
Sebastian Dröge
1981ffbea0
Provide explicit type to Iterator::sum()
calls to avoid ambiguity
2022-11-17 10:16:26 +02:00
Thibault Saunier
6b11284e8a
webrtcsink: Make the turn-server prop a turn-servers
list
...
So that we can simply specify several turn servers at once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/973 >
2022-11-16 14:48:16 +00:00
Guillaume Desmottes
2642410702
spotify: fix "start a runtime from within a runtime" with static link
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/976 >
2022-11-16 13:20:38 +01:00
Arun Raghavan
3abd13e57b
aws: s3sink: Treat stopping without EOS as an error for multipart upload
...
This allows us to try to clean up based on configuration (abort /
complete / do nothing) if the pipeline is shut down without an EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/970 >
2022-11-15 02:28:35 +00:00
Sebastian Dröge
bf9f7a747e
closedcaption: Update for deprecated chrono functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/978 >
2022-11-12 18:41:08 +02:00
Sebastian Dröge
3094bd96df
version-helper: Update for deprecated chrono functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/978 >
2022-11-12 18:24:48 +02:00
Guillaume Desmottes
37cb636140
webrtc: README: fix couple of links
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/975 >
2022-11-11 14:51:46 +01:00
Mathieu Duponchelle
66e7b314f7
webrtcsink: improve debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/972 >
2022-11-10 15:00:19 +00:00
Sebastian Dröge
4d310434ab
mp4mux: Skip gap buffers instead of writing empty samples
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/974 >
2022-11-10 12:59:53 +02:00
Sebastian Dröge
2b4fd40d62
mp4: Add ONVIF non-fragmented MP4 muxer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/974 >
2022-11-10 12:59:53 +02:00
Sebastian Dröge
97bb327b2a
mp4: Remove unneeded cast in tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/974 >
2022-11-10 12:44:46 +02:00
Tim-Philipp Müller
8d1c7cef3e
ci: add trigger job and only run documentation job post-merge
...
- require manual trigger to run pipeline on branches and MRs
- require manual trigger to run pipeline post-merge (excl. docs)
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/417
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/965 >
2022-11-09 20:47:22 +02:00
Tim-Philipp Müller
cc8d84330c
ci: add integration stage and move documentation job to that
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/965 >
2022-11-09 20:37:43 +02:00
François Laignel
e1afa43aa3
ts/udpsink: handle items in the PadSinkHandler
...
... instead of forwarding them to a Task via a channel.
This improves CPU usage by 5% according to `udpsrc-benchmark-sender`
with the `tuning` feature using default audio test buffers and
400 streams on the same ts-context.
It is expected to improve latency significantly. This is inferred
from `ts-standalone`: latency shrinks from around 5ms to 1.5µs
using the `task` sink compared to the `async-mutex` sink.
The async Mutex is mandatory here as we need to hold the lock
across await points.
2022-11-09 07:55:04 +00:00
François Laignel
29a490f6dc
ts: introduce ts-audiotestsrc
...
This makes it easy to generate "listenable" signals and to evaluate
discontinuities.
When the `tuning` feature is activated and the `main-elem` property
is set, the element can log the parked duration in %, which is an
image of the CPU usage for the ts-context.
This commit adds a test mode to `udpsrc-benchmark-sender` which
generates default audio buffers from `ts-audiotestsrc`. The `rtp`
mode is modified so that it uses `ts-audiotestsrc`.
2022-11-09 07:55:04 +00:00
François Laignel
9b96cfc452
ts/standalone: add new Sinks
...
Contrary to the existing Task Sink, the Async and Sync Mutex Sinks
handle buffers in the `PadSinkHandler` directly. The Async Mutex
Sink uses an async Mutex for the `PadSinkHandlerInner` while the
Sync Mutex Sink uses... a sync Mutex.
All Sinks share the same settings and stats manager.
Use the `--sink` command line option to select the sink (default is
`sync-mutex` since it allows evaluating the framework with as little
overhead as possible.
Also apply various fixes:
- Only keep the segment start instead of the full `Segment`. This
helps with cache locality (`Segment` is a plain struct with many
fields) and avoids downcasting the generic `Segment` upon each
buffer handling.
- Box the `Stat`s. This should improve cache locality a bit.
- Fix EOS handling which took ages for no benefits in this
particular use case.
- Use a macro to raise log level in the main element.
- Move error handling during item processing in `handle_loop_error`.
This function was precisely designed for this and it should reduce
the `handle_item`'s Future size.
2022-11-09 07:55:04 +00:00