Commit graph

1337 commits

Author SHA1 Message Date
Sebastian Dröge
53b7bdd4d5 ci: Use 1.46.0 for stable 2020-11-01 11:51:01 +02:00
Sebastian Dröge
1f446f6b64 Switch to the combined gtk-rs and gstreamer-rs repositories 2020-11-01 10:24:57 +02:00
Seungha Yang
6390d85b5f fallbacksrc: Add statistics property
This property would be useful for application to understand
the internal status of fallbacksrc element.
2020-10-30 17:08:05 +09:00
Guillaume Desmottes
d16e7d1213 meson: fix PKG_CONFIG_PATH
pkg-config files are now ll in 'build/meson-uninstalled'.

Fix https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/415>
2020-10-26 08:50:45 +01:00
Sebastian Dröge
ad90efc508 deny: Update 2020-10-22 14:46:56 +03:00
Seungha Yang
1b546bb562 fallbacksrc: Ignore buffering message of restart was scheduled
In case that there is pending restart, fallbacksrc should not
try to add pad probe.
2020-10-22 02:25:52 +09:00
Seungha Yang
46af97219c fallbacksrc: Clear exisiting pad probe on restarting
Fallback might happen even after uridecodebin3 exposed pad.
For later use of audio and video streams, clear it if any
2020-10-22 02:23:22 +09:00
François Laignel
4eacce80a5 threadshare: runtime: simplify a function thanks to clippy 2020-10-20 23:45:01 +02:00
François Laignel
7c3e69bb4a Fix ClockTime comparisons not being Ord and use saturating_sub
See:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/607
2020-10-20 23:45:01 +02:00
Sebastian Dröge
bbc18d6349 Update for ClockId creation API changes 2020-10-20 12:49:51 +03:00
Sebastian Dröge
9d394d39ed deny: Update 2020-10-18 09:47:36 +03:00
Sebastian Dröge
eced2006e3 threadshare: Update pin-project dependency to 1.0 2020-10-17 12:07:30 +03:00
Sebastian Dröge
83e64104bc Update async-tungstenite dependency to 0.9 2020-10-13 12:56:49 +03:00
Sebastian Dröge
88bf03bedf Update muldiv dependency to 1.0 2020-10-13 12:56:49 +03:00
Sebastian Dröge
48b9a5400b Update byte-slice-cast dependency to 1.0 2020-10-13 12:56:49 +03:00
Sebastian Dröge
1e661e6d5b Update for gst::ClockId changes 2020-10-10 13:53:28 +03:00
Sebastian Dröge
6dc71affca deny: Update 2020-10-10 11:17:56 +03:00
Sebastian Dröge
ca3347fb3d Update deny.toml 2020-10-07 10:00:19 +03:00
Seungha Yang
6559287bea cdg: Fix assertion failure while typefinding with too short file
thread '<unnamed>' panicked at 'assertion failed: step != 0', ...

Don't iterate with zero step size.
2020-10-04 20:44:44 +09:00
Seungha Yang
5cba2b002b threadshare/socket: Fix build error on Windows
error[E0412]: cannot find type `Error` in this scope
   --> generic\threadshare\src\socket.rs:237:56
    |
237 |     pub fn set_tos(&self, qos_dscp: i32) -> Result<(), Error> {
    |                                                        ^^^^^ not found in this scope
2020-10-01 01:40:08 +09:00
Jordan Petridis
643544876b
ci: avoid trying to cache cargo registry
There have been some very weird issues, where
cargo keeps fetching older commits of glib-rs
and breaking the build like so [1]

Might be stale cache, or some http/git mirroring
shenanigans, so lets stop trying to use the
cache for now and check if the issue persists.

[1]: https://gitlab.freedesktop.org/slomo/gst-plugins-rs/-/jobs/4715922
2020-09-30 10:03:10 +03:00
Sebastian Dröge
4561b0bc3c utils/fallbacksrc: Add update-uri signal
This allows to update the URI just before configuring it on
uridecodebin3. It might be necessary to update the original URI because
it expired in the meantime, for example.
2020-09-28 16:54:42 +00:00
Sebastian Dröge
331374fabe utils/fallbackswitch: Use the correct segment when deciding to drop fallback buffers
Thanks to Jan Schmidt for noticing.
2020-09-28 14:39:10 +00:00
Sebastian Dröge
bf82e750f4 utils/fallbacksrc: Remove custom source elements from internal bin when shutting down
Otherwise we can't add it again later to a new bin when starting up again.
2020-09-26 12:24:05 +00:00
Guillaume Desmottes
fab361d32d cdg: disable default features for the image crate
We don't need JPEG, GIF, etc. support so depending on the whole
dependency chain of them is not needed and only wastes CPU time.

As a result we can remove the gif crate exception in deny.toml.
2020-09-23 10:28:55 +02:00
Guillaume Desmottes
b81c7e2fd7 cdg: update cdg_renderer 2020-09-23 10:12:44 +02:00
Sebastian Dröge
34ee0790aa deny: Remove duplicated base64 which was fixed in the meantime and add gif 2020-09-23 09:15:56 +03:00
Sebastian Dröge
6de1ca7ed3 video/gif: Update gif dependency to 0.11 2020-09-22 14:40:07 +03:00
Sebastian Dröge
3b5d9b7392 examples: Update for glib API changes
Timeouts now use std::time::Duration instead of plain integers.
2020-09-14 16:47:27 +03:00
Matthew Waters
dc8b722f72 video/closedcaption: add a ccdetect element
Detects whether valid closed caption data is available in CC708 data.
2020-09-10 20:54:09 +10:00
Sebastian Dröge
8c1906eb6c ci: Update minimum supported version to 1.41 2020-09-09 09:36:03 +03:00
Sebastian Dröge
eaaf4bcb21 threadshare/jitterbuffer: Remove unused imports
Not required anymore after a fix in glib.
2020-09-01 09:54:41 +03:00
Sebastian Dröge
71e0c4813b deny: Update
Remove some now unneeded entries and add a new one for wasi
2020-08-28 09:10:21 +03:00
Sebastian Dröge
87025d7a02 Use glib::timeout_add_local() instead of removed gtk::timeout_add() 2020-08-27 09:50:33 +03:00
Jordan Petridis
0f89576235
ci: ensure the registry cache and lockfile are up-to-date
We are caching the CARGO_HOME which includes git repos of
the gtk-rs bindings. Since we don't specify a branch
so it uses the default branch for the ref.

cargo build usually does an update if it has network access,
but its not guaranteed or the case for other tools like clippy
which may still point to the stale git snapshot like here:

https://gitlab.freedesktop.org/thaytan/gstreamer-rs/-/jobs/4165449
2020-08-26 13:52:04 +03:00
Sebastian Dröge
c716957a0d audiofx/audiornnoise: Update nnnoiseless dependency to 0.3 2020-08-19 18:00:39 +03:00
Philippe Normand
60656c713d audiornnoise: New element for audio denoising
The audiornnoise element can be used as playbin audio-filter for instance, to
suppress noise in the audio stream.

This plugin relies on the nnnoiseless crate which implements the noise removal
algorithm of the Xiph RNNoise library, in Rust. Some demos and documentation of
the RNNoise C library can be found on:

https://people.xiph.org/~jm/demo/rnnoise/

Fixes #114
2020-08-13 12:46:28 +01:00
Sebastian Dröge
b8f9e0efc8 threadshare/udpsink: Don't hold settings lock while getting clients property
Otherwise we can deadlock between this and render().
2020-08-11 12:23:16 +03:00
Sebastian Dröge
e1784ea01b threadshare/udpsink: Remove host/port properties
In combination with the clients property and the add/remove signals this
behaves very inconsistent as there are multiple ways to do the same.
2020-08-11 12:04:36 +03:00
Sebastian Dröge
b4f6e7186a deny: Update configuration 2020-08-10 09:51:52 +03:00
Sebastian Dröge
89346fa945 threadshare/udpsink: Don't hold settings lock while calling into the sink pad handler to clear the clients
Otherwise we can deadlock because of a lock order issue:
 - render() is called with the sink pad handler lock and takes the
   settings lock
 - clearing clients takes the sink pad handler lock
2020-08-10 09:39:07 +03:00
Sebastian Dröge
98b618cc9d utils/togglerecord: Fix timestamp tracking logic for partially overlapping timestamps
And various other cases. Also adjust one of the tests accordingly and
improve assertions to print more information about internal
inconsistencies.
2020-08-06 11:56:59 +00:00
Vivia Nikolaidou
a91e8aadb2 fallbackswitch: Consistently store running time in last_sinkpad_time
It was using buffer timestamps mixed with running time
2020-08-05 18:49:44 +00:00
Sebastian Dröge
4b171ec7ff utils/fallbacksrc: Remove pad probes before restarting the source
Otherwise the source might be blocked downstream in the pad probe on the
queue. Previously this was not a problem because the probes were
directly on the srcpads of the source but due to a workaround for
uridecodebin3 buffering bugs this is not the case anymore.
2020-08-04 10:37:08 +03:00
Sebastian Dröge
a2c0d70930 utils/fallbacksrc: Don't schedule a source restart timeout if the source is already pending restart 2020-08-04 10:36:45 +03:00
Sebastian Dröge
9ebcfbf333 utils/fallbacksrc: Improve debug output related to pad probes 2020-08-04 10:36:28 +03:00
Sebastian Dröge
0ce36c0f76 utils/fallbacksrc: Forward the state change return of custom sources
Without this, custom sources that are live are not actually considered
live.
2020-08-03 17:56:15 +03:00
Sebastian Dröge
42a3cf8bb2 utils/fallbacksrc: Fix debug output in pad probe callback
Let's print the name of the source's srcpad that is going to be blocked
instead of the "src" pad of the following queue. Without this it's hard
to distinguish the different streams from the logs.
2020-08-03 17:55:35 +03:00
Sebastian Dröge
30c711886e utils/fallbacksrc: Add a 1s queue between uridecodebin and clocksync and do buffering after the queue
This adds 1s more buffering (of uncompressed data), but works around
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/800
2020-07-30 14:53:18 +03:00
Sebastian Dröge
34fab8786f utils/fallbacksrc: Fix fallback stream detection if only audio or video is enabled 2020-07-30 14:35:34 +03:00