Sebastian Dröge
27435ad82e
Update for API changes
2023-01-05 12:33:54 +02:00
Sebastian Dröge
620ba6e185
livesync: Fix version
2022-12-16 18:53:37 +02:00
Jan Alexander Steffens (heftig)
42385c81be
Add livesync plugin
...
It attempts to produce a (nearly) gapless live stream by synchronizing
its output to the running time and forwarding the next input buffer if
its start is (nearly) flush with the end of the last output buffer.
If the input buffer is missing or too far in the future, it duplicates
the last output buffer with adjusted timestamps. If it is operating on a
raw audio stream, it will fill duplicate buffers with silence.
If an input buffer arrives too late, it is thrown away. If the last
input buffer was accepted too long ago (according to `late-threshold`),
a late input buffer is accepted anyway, but immediately considered a
duplicate. Due to the silence-filling, this has no effect on audio, but
video gets a "slideshow" effect instead of freezing completely.
The "many-repeats" property will be notified when this element has
recently duplicated a lot of buffers or recovered from such a state.
Co-authored-by: Vivia Nikolaidou <vivia@ahiru.eu>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/708 >
2022-12-14 18:51:36 +02:00
Sebastian Dröge
3f904553ea
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1011 >
2022-12-13 11:43:16 +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
a8250abbf1
Fix various new clippy warnings
2022-11-01 10:27:48 +02:00
Sebastian Dröge
f2223cf2cb
Update versions to 0.10.0-alpha.1
2022-10-24 19:31:19 +03: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
François Laignel
86776be58c
Remove &
for obj
in log macros
...
This is no longer necessary.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1137
2022-10-23 21:22:31 +02:00
Sebastian Dröge
f045099fc1
Fix GObject type names, GStreamer debug category names and element factory names
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/198
2022-10-23 20:46:08 +03:00
Sebastian Dröge
20ad9175d8
Make GStreamer plugin/crate/library/directory names and descriptions consistent
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/238
2022-10-23 20:25:08 +03:00
Sebastian Dröge
f058a5e229
Various minor cleanups
2022-10-22 19:50:24 +03:00
François Laignel
6319d104a8
Take advantage of Into<Option<_>>
args
...
Commit 24b7cfc8
applied changes related to nullability as declared
by gir. One consequence was that some functions signature ended up
requiring users to pass `Some(val)` when they could use `val`
before.
This commit applies changes on `gstreamer-rs` which, will honoring
the nullability stil allow users to pass `val` for the few affected
functions.
This commit also fixes the signature for `Element::request_new_pad`
which was updated upstream.
2022-10-21 11:54:24 +02:00
Seungha Yang
92266cb82c
fallbacksrc: Don't configure conversion elements for normal stream
...
Internal conversion element can cause unexpected format/resolution
change depending negotiated result, which didn't happen before
the recent fallbacksrc update for fallback stream support.
Configure conversion objects only for fallback streams and also
fallback-{audio,video}-caps are specified, in order to keep
previous behavior.
2022-10-20 15:06:33 +00:00
Seungha Yang
fec404f87a
fallbacksrc: Fix for imagefreeze framerate setup
...
Put imagefreeze before capsfilter so that user specified framerate
for fallback image can be applied as expected
2022-10-20 02:08:08 +09:00
Seungha Yang
1db66e5a3b
fallbacksrc: Drop QoS event while pad is blocked
...
An element which creates QoS event might reference different
GstSegment timeline (e.g., fallback testsrc's one).
Then it can cause lots of buffers are being dropped in decoder,
because of the QoS events.
Drops the QoS event before we calculate appropriate pad offsets
from blocking pad probe.
2022-10-20 01:56:36 +09:00
Sebastian Dröge
12400b6b87
Update everything for element factory builder API changes
...
And set properties as part of object construction wherever it makes
sense.
2022-10-19 19:43:29 +03:00
Seungha Yang
953ae18f1d
fallbacksrc: Configure clocksync
...
It's missed in the previous refactoring
2022-10-18 16:27:41 +00:00
Seungha Yang
3eaf29b71f
fallbacksrc: Don't use fallback caps to normal stream
...
fallback-{audio,video}-caps should be applied only to fallback
branches
2022-10-18 16:27:41 +00:00
François Laignel
8011eadfd2
Use new format constructors
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1128
2022-10-18 10:36:59 +00:00
Vivia Nikolaidou
9b1361b538
plugins: Use .into() instead of gst::Fraction::new() where applicable
2022-10-14 18:21:28 +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
e49138516c
Update for pad default functions API changes
2022-10-12 19:50:15 +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
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
Nirbheek Chauhan
1d4d3e4cb0
build: Update versions to be 0.9.0-alpha.1
...
0.9.0 is the next release, so we can't name things that already.
Also the version in meson.build was 0.13.0, which is completely wrong.
2022-10-04 21:27:23 +05:30
Sebastian Dröge
f66aafb039
tracers: queue-levels: Update for gst::TracerImpl
API changes
2022-10-02 11:44:34 +03:00
Sebastian Dröge
4ba4b00235
examples: Update to clap 4
2022-09-29 09:48:53 +03:00
Sebastian Dröge
7479888200
uriplaylistbin: Port example from structopt to clap
2022-09-27 13:30:38 +03:00
Sebastian Dröge
38753b08ac
fallbacksrc: Implement support for fallback streams
2022-09-27 12:56:15 +03:00
Sebastian Dröge
00411523d4
fallbackswitch: Make sure to flush/reset pads during pad (de)activation
...
Otherwise this can potentially deadlock or delay state changes for a
longer time.
2022-09-27 12:56:01 +03:00
Sebastian Dröge
1f7126a8a1
fallbackswitch: Flush and deactivate pads before releasing them
2022-09-27 12:56:01 +03:00
Sebastian Dröge
b6ebad2761
fallbackswitch: Fix lock order problem between state and stream lock
...
The order is first stream lock, then state lock. Everything else can
lead to deadlocks.
2022-09-27 12:54:21 +03:00
Thibault Saunier
adb4cb8691
tracers: Fix documentation comment using gtk-doc style
...
So the online documentation works
2022-09-24 16:30:50 -03:00
Jordan Petridis
d8e3894209
togglerecord: Port example to GTK 4
2022-09-05 11:47:37 +03:00
Jordan Petridis
a60f4e9ae8
fallbackswitch: Port the example to GTK 4
2022-09-05 11:47:28 +03:00
Sebastian Dröge
1a40186485
Update for GLib ParamSpec builder API changes
2022-09-05 11:45:47 +03:00
Sebastian Dröge
46dddaf31c
Update minimum supported Rust version to 1.63
2022-09-04 21:31:55 +03:00
Thibault Saunier
67e651f57c
Allow "unused_doc_comments" as we use hotdoc and not rustdoc
2022-08-29 18:33:22 -04:00
Thibault Saunier
31a53bba8a
Generate plugins documentation using hotdoc
...
Which will automatically be integrated in gstreamer documentation
2022-08-29 18:33:22 -04:00
Vivia Nikolaidou
5606111345
plugins: Simplify code using ParamSpecBuilder
2022-08-22 17:58:43 +03:00
Sebastian Dröge
374bb8323f
Fix build after glib SignalBuilder::param_types() API change
2022-08-17 23:37:39 +03:00
Sebastian Dröge
2a54d57968
tracers: queue_levels.py: cycle colors
...
Fix crash when drawing more dataset than the number of colors.
2022-08-11 09:34:46 +00:00
Seungha Yang
a9a41a54be
tracers: Enable PipelineSnapshot only for unix target
...
This implementation does not support the other targets
(it uses SIGUSR1 which does not exist on Windows)
and would not be compiled
2022-08-09 11:47:02 +00:00
Guillaume Desmottes
7eea27aefc
tracers: buffer_lateness.py: cycle colors
...
Fix crash when drawing more dataset than the number of colors.
Fix #221
2022-08-09 13:13:14 +02:00
Bilal Elmoussaoui
52973d975e
Update per glib::SignalBuilder changes
2022-07-21 20:03:13 +02:00
Sebastian Dröge
7d666ce517
tracers: queue-levels: Fix analysis script if only a single plot should be created
2022-07-21 12:26:22 +03:00