Sebastian Dröge
4ad101b53b
Use once_cell crate directly again
...
The glib crate does not depend on it anymore and also does not re-export
it anymore.
Also switch some usages of OnceCell to OnceLock from std.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1441 >
2024-01-31 18:07:57 +02:00
François Laignel
9250c592a7
ndi: don't accumulate meta with audio only streams
...
Currently, only closed caption metadata are supported. When the next video
frame is received, pending meta are dequeued and parsed. If close captions
are found, they are attached to the video frame.
For audio only streams, it doesn't make sense to enqueue metadata. They would
accumulate in `pending_metadata` and would never be dequeued.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/460
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1392 >
2023-11-13 19:26:23 +01:00
Sebastian Dröge
39155ef81c
ndisrc: Implement zerocopy handling for the received frames if possible
...
Also move processing from the capture thread to the streaming thread.
The NDI SDK can cause frame drops if not reading fast enough from it.
All frame processing is now handled inside the ndisrcdemux.
Also use a buffer pool for video if copying is necessary.
Additionally, make sure to use different stream ids in the stream-start
event for the audio and video pad.
This plugin now requires GStreamer 1.16 or newer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1365 >
2023-11-13 13:22:48 +02:00
Bilal Elmoussaoui
dd2d7d9215
Use re-exported once_cell
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268 >
2023-07-06 17:50:49 +03:00
François Laignel
7ba0073052
use Pad builders for optional name definition
...
Also, apply auto-naming in the following cases
* When building from a non wildcard-named template, the name of the template is
automatically assigned to the Pad. User can override with a specific name by
calling `name()` on the `PadBuilder`.
* When building with a target and no name was provided via the above, the
GhostPad is named after the target.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/448
Auto-naming discussion: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255#note_1891181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1197 >
2023-05-12 12:55:31 +02:00
Sebastian Dröge
9a68f6e221
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:08:46 +03:00
Sebastian Dröge
5f19639d0f
ndi: Various code cleanup
2022-10-13 08:52:52 +00:00
Sebastian Dröge
db8037d16c
ndi: Update for pad default functions API changes
2022-10-12 22:09:55 +03:00
Sebastian Dröge
907910329f
ndi: Prefix GType names with Gst
2022-10-12 21:29:07 +03:00
Sebastian Dröge
a000432b13
ndi: Relicense plugin from LGPL-2.1 to MPL-2
...
This was agreed to by all previous contributors in writing.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
fb8192f40b
ndi: Remove unnecessary reference-timestamps feature
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
77a5e35081
ndi: Update to git version of the bindings
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
18cbb587ba
ndisrcdemux: Add no-more-pads signal
...
Emit no-more-pads if we are adding the second pad of the element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
1c43a51520
ndisrcdemux: Use ANY caps in the pad templates of ndisrcdemux
...
When using the Advanced SDK it is possible to output compressed formats
too.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
718734ab18
ndi: Fix/silence various clippy warnings
2022-10-12 21:29:07 +03:00
Sebastian Dröge
9c540d8abb
Move everything to net/ndi for preparing to merge into gst-plugins-rs
2022-10-12 19:25:32 +03:00