Guillaume Desmottes
a5ebefd736
spotifyaudiosrc: implement URI handler
...
Fix #204
2022-10-18 08:31:59 +00:00
Sebastian Dröge
e17688a2da
Update for pango API changes
2022-10-17 20:02:02 +03:00
Guillaume Desmottes
676b061af3
textahead: fix pango markup URL
...
The old one no longer works.
2022-10-17 14:47:52 +02:00
Jan Beich
6da4192fe6
meson: optionalize pango dependency used by video/videofx
...
Similar to -Dcairo=<auto|enabled|disabled> in gst-plugins-good.
2022-10-15 23:41:09 +00:00
Vivia Nikolaidou
b688326383
audio: Use channel_mask() for AudioCapsBuilder
2022-10-14 18:21:28 +03:00
Vivia Nikolaidou
9b1361b538
plugins: Use .into() instead of gst::Fraction::new() where applicable
2022-10-14 18:21:28 +03:00
Vivia Nikolaidou
0ab965335f
onvifmetadataoverlay, cea608overlay: Fix pangocairo::FontMap::new()
...
It doesn't return an Option anymore.
2022-10-14 18:12:33 +03:00
Vivia Nikolaidou
f11b0fa5eb
plugins, examples, tutorials: Use AudioCapsBuilder and VideoCapsBuilder
...
Simplify caps creation code
2022-10-13 19:24:57 +00:00
Sebastian Dröge
862c2af1d9
ndi: Remove unnecessary explicit Send+Sync
impls
...
These are automatically available now.
2022-10-13 17:54:08 +00:00
Vivia Nikolaidou
dbd5a44b90
hlssink3: Use #[cfg(feature = "doc")] on gst::prelude import
...
It otherwise gives a warning about the unused import
2022-10-13 14:22:36 +03:00
Sebastian Dröge
5f19639d0f
ndi: Various code cleanup
2022-10-13 08:52:52 +00:00
Sebastian Dröge
b2ddb34258
onvif: Switch from minidom to xmltree for parsing ONVIF timed metadata
...
minidom doesn't handle various valid but suboptimal XML documents.
2022-10-12 21:00:13 +00:00
Sebastian Dröge
97e0852156
ndi: Add NDI plugin to the docs
2022-10-12 22:25:13 +03:00
Sebastian Dröge
53b02a82ae
ndi: Re-organize code a bit and don't make internal modules public
2022-10-12 22:09:56 +03:00
Sebastian Dröge
0a2e6e47c9
ndi: Silence some more clippy warnings
2022-10-12 22:09:55 +03:00
Sebastian Dröge
db8037d16c
ndi: Update for pad default functions API changes
2022-10-12 22:09:55 +03:00
Sebastian Dröge
3fe9e4a207
ndi: Implement dynamic loading of the NDI SDK
...
And build the plugin on the CI and via meson.
2022-10-12 22:09:53 +03:00
Sebastian Dröge
16c036e2cc
ndi: Make element factory details and debug categories more consistent
2022-10-12 21:29:07 +03:00
Sebastian Dröge
907910329f
ndi: Prefix GType names with Gst
2022-10-12 21:29:07 +03:00
Sebastian Dröge
047f990c78
ndi: Integrate into the build system
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
fedd67dcaa
ndi: Use AudioCapsBuilder and VideoCapsBuilder
...
Simplify caps creation codes
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
95e8deded9
ndi: Simplify code using ParamSpecBuilder
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
26f843a89f
ndisrc: Fix latency reporting in auto timestamp mode
2022-10-12 21:29:07 +03:00
Sebastian Dröge
9c10ba87df
ndisrc: Improve handling of broken sources with regards to timestamping
...
- NDI HX Camera Android in the past used 1ns instead of 100ns as unit
for timecodes/timestamps.
- NDI HX Camera iOS uses 0 for all timecodes and the same non-zero
value for all audio timestamps
Detect such situations and try to compensate for them. Also add a new
"auto" timestamping mode that prefers to use timecodes and otherwise
falls back to timestamps or receive times.
Fixes https://github.com/teltek/gst-plugin-ndi/issues/79
2022-10-12 21:29:07 +03:00
Sebastian Dröge
a3c752830b
ndisrc: Keep track of audio/video and timestamp/timecode observations separately
...
Audio/video are in practice not always from the same clock and can have
different behaviours with regards to clock rate and jitter. Handling
them separately generally gives better results for the timestamps output
by the source element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
b82acb9ca9
ndisrc: Remove unnecessary Arc around the timestamp observations and use AtomicRefCell instead of Mutex
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
7a90500fe7
Merge branch 'master' of https://github.com/teltek/gst-plugin-ndi
2022-10-12 21:27:56 +03:00
Sebastian Dröge
e49138516c
Update for pad default functions API changes
2022-10-12 19:50:15 +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
François Laignel
2bffdec691
ts: better use of imp
& elem
args in Pad{Sink,Src}Handler
s
...
This is a follow-up to commit 7ee4afac
.
This commit cleans up the `Pad{Sink,Src}Handler` by
- Keeping arguments which are strictly necessary.
- Passing arguments by value for the trait functions which return
a `Future`. The arguments which were previously passed by reference
were `clone`d internally and then `clone`d again in most
implementations.
There are unfortunate differences in trait function signatures
between those which return a `Future` and the sync functions. This
is due to the requirement for the arguments to be moved to the
resulting `Future`, whereas sync functions can rely on references.
One particular notable difference is the use of the `imp` in sync
functions instead of the `elem` in functions returning a `Future`.
Because the `imp` is not guaranteed to implement `Clone`, we can't
move it to the resulting `Future`, so the `elem` is used.
2022-10-12 12:35:20 +02:00
Thibault Saunier
f4692cb1dd
gcc: Ignore errors pausing task
...
We can't do much about it at this point
Fixes https://github.com/centricular/webrtcsink/issues/110
2022-10-11 17:39:38 +02:00
François Laignel
bc5b51687d
fix formatted values constructors
...
In restrospect, building formatted values using operations on the
`ONE` constant doesn't seem idiomatic. This commit uses new panicking
constructors instead.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1122
2022-10-11 15:06:53 +02:00
Mathieu Duponchelle
e110847ede
Relicense from MIT to MPL-2.0
...
Fixes #107
2022-10-11 08:07:47 +02:00
François Laignel
bd14e476f1
Fix direct access to the inner specific formatted values
...
This is no longer available as this could lead to building a defined
value in Rust which could be interpreted as undefined in C due to
the sentinel `u64::MAX` for `None`.
Use the constants (e.g. `ONE`, `K`, `M`, ...) and operations to build
a value and deref (`*`) to get the quantity as an integer.
2022-10-10 19:28:13 +02:00
Seungha Yang
b1b707008f
jsontovtt: Print object information to debug message
...
Use GST_*_OBJECT() variant debug printing method whenever possible
2022-10-10 22:28:30 +09:00
Seungha Yang
3d317b976e
jsontovtt: Add timeout property
...
As described in the spec D.4 Automatic Caption Blanking,
allows automatic clear if user specified timeout value
2022-10-10 22:16:15 +09:00
Sebastian Dröge
6e7ebc30e0
Revert "rav1e: Pin v_frame
dependency to version 0.2.5 for now"
...
This reverts commit f85321ce9f
.
Versio 0.2.6, which broke API, was yanked and released as 0.3 so this is
all working fine again.
2022-10-10 15:45:51 +03:00
Sebastian Dröge
7ee4afacf4
Change *Impl trait methods to only take &self and not Self::Type in addition
2022-10-10 15:03:25 +03:00
François Laignel
7818ac658b
Use GFV::none_for_format
where applicable
2022-10-08 18:29:10 +02:00
Sebastian Dröge
4c57a97d4d
Update for glib::Object::new() API changes
2022-10-07 23:54:53 +03:00
Mathieu Duponchelle
9a345f9c6f
webrtcsink: don't hold settings lock while negotiating
2022-10-07 21:08:00 +02:00
Mathieu Duponchelle
f82a731b3a
webrtcsink: fix deadlock on encoder setup
...
Refactor connect_input_stream in order to avoid an ABBA deadlock
altogether: where in other spots we lock settings then state, here we
were emitting encoder-setup with state held, then locking settings in
the default handler.
We could have changed the locking order in the other spots, but instead
we can also just release the state lock when emitting the signal, which
is good practice.
Fixes #108
2022-10-07 21:08:00 +02:00
Sebastian Dröge
0b13bfe9dc
fallbacksrc: Always restart the fallback stream on EOS and make sure to EOS all streams if the main stream is EOS
2022-10-05 19:13:36 +03:00
Sebastian Dröge
9719b055c5
fallbacksrc: Retry fallback stream on errors too
...
It was retrying but then nonetheless handling the error as fatal.
2022-10-04 16:31:09 +00:00