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
f058a5e229
Various minor cleanups
2022-10-22 19:50:24 +03: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
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
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
Sebastian Dröge
38753b08ac
fallbacksrc: Implement support for fallback streams
2022-09-27 12:56:15 +03:00
Sebastian Dröge
1a40186485
Update for GLib ParamSpec builder API changes
2022-09-05 11:45:47 +03: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
Bilal Elmoussaoui
52973d975e
Update per glib::SignalBuilder changes
2022-07-21 20:03:13 +02:00
Sebastian Dröge
cb84206457
Fix a couple of new 1.62 clippy warnings
2022-06-28 14:52:20 +03:00
Seungha Yang
4072f1df34
fallbacksrc: Add fallback-{audio,video}-caps properties
...
Add new properties so that user can specify output raw audio and/or
video format of fallback stream (output of testsrc or still image)
2022-06-03 13:18:38 +00:00
Seungha Yang
930cc41aaa
fallbacksrc: Don't forward manual flush events to downstream
...
fallbackswitch might forward flush event if it's for the currently
active pad. But forwarded flush event will be problematic in various
reasons and that's not a behavior we expected.
2022-04-12 23:21:32 +09:00
Sebastian Dröge
5788837fb6
fallbacksrc: Unflush downstream pads of the source after shutting down everything
...
Otherwise the pads might still be flushing on the next try and the
source would never recover.
2022-04-12 14:40:08 +03:00
Sebastian Dröge
7233d6936c
fallbacksrc: Remove imagefreeze if it becomes unneeded
2022-04-12 14:37:29 +03:00
Sebastian Dröge
3de317b3c9
fallbacksrc: Don't panic when shutting down the source and there are source pad blocks but no actual source pads
...
This can happen if the source removed the actual source pad already but
our downstream pad that is blocked still exists.
2022-04-11 11:01:27 +00:00
Sebastian Dröge
08379ab389
fallbacksrc: Request the main pad first from fallbackswitch
...
By default the first created pad is the active one before the
fallbackswitch is actually processing data.
2022-04-08 20:24:03 +03:00
Sebastian Dröge
d3d98c73ca
fallbacksrc: Connect to notify::active-pad
after requesting pads
...
Requesting the first pad will emit the property because the first pad is
then selected. That will cause the callback to be called, which tries to
take the same mutex that is already locked during element setup and
causes a deadlock.
2022-04-08 19:53:38 +03:00
Jan Schmidt
bd2ff494c7
fallbackswitch: Replace with priorityswitch
...
fallbackswitch now supports multiple sink pads, and on a timeout of the
active pad, it will automatically switch to the next lowest priority pad
that has data available.
fallbackswitch sink pads follow the `sink_%u` template and have
`priority` as a pad property.
Co-authored-by: Vivia Nikolaidou <vivia.nikolaidou@ltnglobal.com>
2022-04-05 18:52:31 +03:00
Sebastian Dröge
4a54001aed
fallbacksrc: Flush source before restarting on errors
...
It might still be blocked downstream for a while, e.g. in the clocksync.
Flushing does not cause any problems as fallbackswitch is not going to
forward it and will only unblock everything up to there.
2022-03-17 16:12:34 +00:00
François Laignel
422ea740ca
Update to gst::_log_macro_
...
See the details:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/980
2022-02-21 20:50:01 +01:00
Sebastian Dröge
f44b86cd30
Simplify some code around event/query views
2022-01-22 12:18:02 +02:00
Sebastian Dröge
65fcd55160
Update for event/message/query view API changes
2022-01-19 15:07:45 +02:00
Sebastian Dröge
b2d0172422
Replace Foo::from_instance(foo)
with foo.imp()
2022-01-17 19:36:41 +02:00
Sebastian Dröge
326449b3e6
Re-license LGPL-2.1 plugins to MPL-2
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/168
2022-01-15 21:05:11 +02:00
Sebastian Dröge
86021d637b
fallbacksrc: Actually calculate running times of segment start/stop if the PTS is outside the segment
...
Previously it was just using the segment start/stop without converting
it to the corresponding running time.
2021-12-09 12:30:42 +02:00
Sebastian Dröge
c68f6b2631
Update for GLib signal emit_by_name()
API changes
2021-11-21 18:15:04 +02:00
Sebastian Dröge
55aad51141
Update for glib constructor renames
...
See https://github.com/gtk-rs/gtk-rs-core/pull/384
2021-11-20 14:31:06 +02:00
Bilal Elmoussaoui
82be7b3ac5
adapt to ObjectExt improvements
2021-11-08 14:43:53 +02:00
Sebastian Dröge
d9bda62a47
Update for GLib/GStreamer API changes
...
And clean up a lot of related property/caps/structure code.
2021-11-06 09:34:10 +02:00
Sebastian Dröge
0a7d1639e7
Update to Rust edition 2021 and minimum supported Rust version to 1.56
2021-10-31 17:40:05 +02:00
Sebastian Dröge
b9541b2ca4
Update for GstObjectImpl API change
2021-10-23 12:31:33 +03:00
Sebastian Dröge
c5d3a2efce
Update for event API changes
2021-10-17 17:30:38 +03:00
Sebastian Dröge
4894e7b3ee
Update for fallible Object::set_property_from_str()
2021-08-17 15:01:25 +03:00
Mathieu Duponchelle
36b346e733
fallbacksrc: update-uri is not an action signal
2021-06-30 17:34:13 +02:00
Mathieu Duponchelle
d38a84ab79
fallbacksrc: add support for still images as primary
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515 >
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
ef41adf776
fallbacksrc: implement manual unblocking feature
...
This enables a use case for preparing slow to start up sources
ahead of time in a live cueing system, where a stream is scheduled
to start at some point in the future, and the application wants to
make sure it is ready for prime time by that time, instead of
spinning it up at the last moment and waiting for the stream to
actually come up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515 >
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
29052b1acb
fallbacksrc: implement send_event to forward EOS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515 >
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
0b08f855c5
fallbacksrc: send EOS on fallback-only stream
...
When both audio and video are enabled, but the primary stream
only has either, when that stream ends we want to end the other
fallback-only stream as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515 >
2021-06-30 00:46:46 +00:00
Mathieu Duponchelle
a5a80281f3
fallbackswitch: output buffers ASAP at startup
...
When only the backup pad is receiving buffers, and the primary
pad is a bit slow to start up (eg network source with buffering),
it makes for a better UX to output buffers from the backup pad
while waiting for the network source to make its move.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/515 >
2021-06-30 00:46:46 +00:00
François Laignel
5439f14e57
fix clippy warnings
2021-06-05 10:36:22 +02:00
François Laignel
c2de0649a7
utils: migrate to new ClockTime design
2021-06-05 10:36:21 +02:00